站点工具

用户工具


大厂前端面试重点突破

系列1: 宏任务微任务

考察事件循环、任务队列、和setTimeout、Promise结合,以输出结果顺序的方式来考察

范例1 来自面经 第5题

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 来自面经

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