異步
題目
- 同步和異步的區(qū)別是什么伐脖?分別舉一個(gè)同步和異步的例子
- 一個(gè)關(guān)于setTimeout的筆試題
- 前端使用異步的場(chǎng)景有哪些
什么是異步
- 同步會(huì)阻塞代碼執(zhí)行,異步不會(huì)
- alert是同步吓妆,setTimeout不會(huì)
console.log(100);
setTimeout(function (argument) {
console.log(200);
},1000)
console.log(300);
100
300
200 //不阻塞程序運(yùn)行
console.log(100);
alert(200);
console.log(300);
100
200 //同步尔破,阻塞運(yùn)行
300
何時(shí)需要異步
- 在可能發(fā)生等待的情況
- 在等待過程中不能像alert一樣阻塞程序運(yùn)行
- “需要等待”的情況使用異步
前端使用異步的場(chǎng)景
- 定時(shí)任務(wù):
setTimeout``setInverval
- 網(wǎng)絡(luò)請(qǐng)求:ajax請(qǐng)求铅鲤,動(dòng)態(tài)
<img>
加載 - 事件綁定??
解答
- setTimeout面試題
console.log(1);
setTimeout(function (argument) {
console.log(2);
},0)
console.log(3);
setTimeout(function (argument) {
console.log(4);
},1000)
console.log(5);
1
3
5
2
4