码迷,mamicode.com
首页 > 其他好文 > 详细

setTimeout与Promise的区别

时间:2019-04-11 19:45:39      阅读:381      评论:0      收藏:0      [点我收藏+]

标签:obj   ext   区别   nod   request   的区别   observer   time   promise   

技术图片

1,4,3,2

Promise是一个micro task  主线程是一个task  micro task queue会在task后面执行

setTimeout返回的函数是一个新的task macro task queue

所以Promise会先于新task执行

 

根据html标准  一个task执行完后 ui会重渲染 

 

vue源码:    nextTick异步更新dom操作先判断是否支持Promise  再判断是否支持MutationObserve 最后是setTimeout

 

macroTask Queue(宏任务队列) : setTimeout  setInterval   setImmediate   requestAnimationFrame  NodeJS的I/O

microTask Queue(微任务队列):

promise   (独立回调)其成功/失败回调函数相互独立

复合回调: Object.observe, MutationObserver 和NodeJs中的 process.nextTick ,不同状态回调在同一函数体

 

setTimeout与Promise的区别

标签:obj   ext   区别   nod   request   的区别   observer   time   promise   

原文地址:https://www.cnblogs.com/moneyss/p/10691606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!