javascript异步执行机制(宏任务和微任务)

JavaScript异步执行机制的总结

我们JavaScript的任务分为同步任务和异步任务,而异步任务又分为宏任务和微任务
宏任务包括setTimeout,setInterval,js主代码段
微任务包括Pormise,process.nextTick

执行机制流程图 : 执行机制流程图
以下是我们的案例:求打印结果

setTimeout(()=>{
    console.log(1);
})
new Promise((reslove)=>{
    reslove(2)
    console.log(2);
}).then(()=>{
    console.log(3);
})
console.log(4);

上面的答案是2,4,3,1
因为Promise是将我们异步任务转为同步任务的方法,所以先打印2
然后then这里面的回调函数是异步且是微任务
然后继续打印4
然后根据上面的流程图可以看出setTimeout是宏任务
微任务是先执行,所以再打印3最后是1
所以答案是 2,4,3,1

你可能感兴趣的:(js,vue.js,前端,javascript)