站点工具

用户工具


====== 差别 ======

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
前端面试重点突破 [2021/12/22 13:09]
若愚
前端面试重点突破 [2021/12/28 18:04] (当前版本)
若愚
行 1: 行 1:
-大厂前端面试重点突破+- [Promise与微任务,你真的懂吗?](https://zhuanlan.zhihu.com/p/449183802) 
 +- [微任务终极考验,一文讲解async/await转换Promise](https://zhuanlan.zhihu.com/p/450906325) 
 +- [宏任务与微任务大厂面试题集合](宏任务与微任务)
  
-## 系列1: 宏任务微任务 
-> 考察事件循环、任务队列、和setTimeout、Promise结合,以输出结果顺序的方式来考察 
- 
-** 范例1 ** 
-来自[面经](https://wiki.jirengu.com/doku.php?id=%E5%89%8D%E7%AB%AF%E9%9D%A2%E7%BB%8F_%E5%AD%97%E8%8A%82%E5%AE%9E%E4%B9%A0) 第5题 
- 
-```javascript 
-async function async1(){ 
-    console.log('async1 start') 
-    await async2() 
-    console.log('async1 end') 
-} 
-  
-async function async2(){ 
-    console.log('async2') 
-} 
-  
-console.log('script start') 
-  
-setTimeout(function(){ 
-    console.log('setTimeout') 
-},0) 
-  
-async1() 
-  
-new Promise(function(reslove){ 
-    console.log('promise1'); 
-    resolve() 
-}).then(function(){ 
-    console.log('promise2') 
-}) 
-  
-console.log('script end') 
-``` 
- 
-**范例2** 
-来自[面经](https://wiki.jirengu.com/doku.php?id=%E5%89%8D%E7%AB%AF%E9%9D%A2%E7%BB%8F_%E5%AD%97%E8%8A%8218) 
- 
-```javascript 
-const pro = new Promise((resolve, reject) => { 
-const innerpro = new Promise((resolve, reject) => { 
-  setTimeout(() => { 
-    resolve(1); 
-  }, 0); 
-  console.log(2); 
-  resolve(3); 
-}); 
-innerpro.then(res => console.log(res)); 
-resolve(4); 
-console.log("pro"); 
-}) 
-pro.then(res => console.log(res)); 
-console.log("end"); 
-``` 
若愚 · 2021/12/22 13:09 · 前端面试重点突破.1640149791.txt.gz