Promise.resolve().then(() => {
console.log(0)
return Promise.resolve(4)
}).then(res => {
console.log(res)
})
Promise.resolve().then(() => {
console.log(1)
}).then(() => {
console.log(2)
}).then(() => {
console.log(3)
}).then(() => {
console.log(5)
}).then(() => {
console.log(6)
}).then(() => {
console.log(7)
}).then(() => {
console.log(8)
})
// 0 1 2 3 4 5 6 7 8
// 宏任务
// 执行第一个宏任务promise.resolve,then里面的, () => {
// console.log(0)
// return Promise.resolve(4)
// } 进入微任务队列
// 执行第二个宏任务promise.resolve,then里面的, () => {
// console.log(1)
// } 进入微任务队列, 这时候宏任务执行完了,微任务队列有俩个任务
// 微任务
// () => {
// console.log(0)
// return Promise.resolve(4)
// } 执行,输出0, 注册一个job, 当执行栈为空的时候(也可以理解为本轮微任务队列为空),job进入执行队列
// () => {
// console.log(1)
// } 执行,输出1,下一个then回调推入微任务队列, 这个时候本轮执行微任务队列空了,job进入队列
// 所以执行栈里面现在是
// () => {
// console.log(2)
// } 执行,输入2,下一个then回调推入微任务队列
// job 执行,res => {
// console.log(res)
// }推入微任务队列
// 所以执行栈里面现在是
// () => {
// console.log(3)
// } 执行,输入3,下一个then回调推入微任务队列
// res => {
// console.log(res)
// } 执行, 输入4
// 之后就是then的;链式调用5 6 7 8
Promise执行输入问题详解
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这8种学生永远拿不到高分!早看早受益! 下面是一位资深班主任总结了8种成绩提不上去的原因,分别对应8类孩子,如果你...
- 这8种学生永远拿不到高分!早看早受益! 下面是一位资深班主任总结了8种成绩提不上去的原因,分别对应8类孩子,如果你...
- 今天青石的票圈出镜率最高的,莫过于张艺谋的新片终于定档了。 一张满溢着水墨风的海报一次次的出现在票圈里,也就是老谋...
- 一、jQuery简介 JQ是JS的一个优秀的库,大型开发必备。在此,我想说的是,JQ里面很多函数使用和JS类似,所...