写在前面
晚上好呀,闲话少叙。直接讲知识点吧,要好好背嗷。
事件循环中分为宏任务和微任务队列
宏任务(macrotask):在新标准中叫task。
主要包括:script(整体代码),setTimeout,setInterval,I/O,ui rendering。
微任务(microtask):在新标准中叫jobs。
主要包括:process.nextTick,Promise,MutationObserver(html5新特性)
setTimeout、Promise、Asunc/Await的区别
setTimeout的回调函数放到宏任务队列里,等到执行栈清空以后执行。
Promise.then里的回调函数会放到相应宏任务的微任务队列里,等宏任务里面的同步代码执行完再执行。
async方法执行时,遇到await会立即执行表达式,然后把表达式后面的代码放到微任务队列里,让出执行栈让同步代码先执行。
写在最后
以上就是今天的所有内容啦。下期见。