promise-then执行顺序问题

Posted 沿着路走到底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise-then执行顺序问题相关的知识,希望对你有一定的参考价值。

以下代码,执行会输出什么

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)
)


// 0,1,2,3,4,5,6

then 交替执行

如果有多个 fulfilled 状态的 promise 实例,同时执行 then 链式调用,

then 会交替调用

这是编译器的优化,防止一个 promise 持续占据事件

Promise.resolve().then(() => 
    console.log(1)
).then(() => 
    console.log(2)
).then(() => 
    console.log(3)
).then(() => 
    console.log(4)
)

Promise.resolve().then(() => 
    console.log(10)
).then(() => 
    console.log(20)
).then(() => 
    console.log(30)
).then(() => 
    console.log(40)
)

Promise.resol

以上是关于promise-then执行顺序问题的主要内容,如果未能解决你的问题,请参考以下文章

Vb.net 多个线程执行顺序的问题

js 顺序 调用 2个函数。函数 的 执行 顺序 问题

多个$(document).ready()的执行顺序问题

带嵌套的Sql语句执行顺序问题

Javascript 执行顺序问题

MFC类的执行顺序