9.7面试输出题 异步同步 宏微任务

60 阅读1分钟
console.log(1);//1.
log();//2.
setTimeout(() => {
  console.log(2);
}, 0);
function log() {
  setTimeout(() => {
    console.log(3);
    setTimeout(() => {
      console.log(4);
    }, 0);
  }, 0);
  let p = new Promise( resolve => {//3.
    setTimeout(() => {
      console.log(5);
    }, 0);
    resolve(()=> {   
      setTimeout(() => {
        console.log(6);
        setTimeout(() => {
         console.log(7);
        }, 0);
      }, 0);
    })
  })
  p.then( success => {//4.
    setTimeout(() => {
      console.log(8);
    }, 0);
    success();
})
}