
如上图所示,在js中先执行主线程中的所有任务,再轮询执行所有的微任务,最后轮询执行所有的主任务。
定时器属于宏任务
promise产生的回调函数属于微任务
所以在本例中会先打印success后打印setTimeout

稍微修改一下上例
因为我们在setTimeout中才将promise给resolve调用,也就是说在resolve之后promise的then里面的微任务才会被创建
所以此时success执行在setTimeout之后
如上图所示,在js中先执行主线程中的所有任务,再轮询执行所有的微任务,最后轮询执行所有的主任务。
定时器属于宏任务
promise产生的回调函数属于微任务
所以在本例中会先打印success后打印setTimeout
稍微修改一下上例
因为我们在setTimeout中才将promise给resolve调用,也就是说在resolve之后promise的then里面的微任务才会被创建
所以此时success执行在setTimeout之后
本文标题:js中宏任务、微任务执行顺序
本文链接:https://www.haomeiwen.com/subject/mighdktx.html
网友评论