执行顺序:
1. 同步程序
2. process.nextTick
3. 微任务: promise.then
4. 宏任务: 计时器,ajax,读取文件
5. setImmediate(当前事件循环结束执行)
做两个小例子练一哈 !~
setImmediate(() => {
console.log(1)
})
console.log(2)
setTimeout(() => {console.log(3)}, 0)
setTimeout(() => {console.log(4)}, 100)
console.log(5)
new Promise((resolve) => {
console.log(6)
resolve()
}).then(() => {
console.log(7)
})
process.nextTick(() => {
console.log(8)
})
答:25687314
console.log(1)
async function async1(){
await async2()
console.log(2)
}
async function async2(){
console.log(3)
}
async1()
setTimeout(function(){
console.log(4)
}, 0)
new Promise(resolve =>{
console.log(5)
resolve()
}).then(function(){
console.log(6)
}).then(function(){
console.log(7)
})
console.log(8)
答:13582674
如果本文对你有所帮助,感谢点一颗小心心,您的支持是我继续创作的动力!
最后:写作不易,如要转裁,请标明转载出处。
网友评论