ForeveHG / Frontend-Daily-Interview

学习,尝试回答一些前端面试题
1 stars 0 forks source link

18. setTimeout、Promise、Async/Await 的区别 #18

Open ForeveHG opened 5 years ago

ForeveHG commented 4 years ago

在事件循环队列中的区别: setTimeout是在指定时间后,将回调函数添加到宏任务队列 Promise是在resolve后,将then中的第一个回调函数加入微任务队列或者reject后,将then中的第二个回调函数加入微任务队列 Async/Await可以在一个函数内部暂停执行,async函数会返回一个Promise对象,await后边的表达式如果不是Promies对象,会被包装成一个已经resolve的Promise对象,可以看做Promise.resolve(表达式),所以Async/Await也是向微任务队列添加回调函数