gpt4 book ai didi

javascript - 如何使用 bluebirdjs 按顺序链接 promise ?

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:54 24 4
gpt4 key购买 nike

Promise.all() 不保证 Promise 会按顺序解决。如何做到这一点?

最佳答案

由于您使用的是 Bluebird JS,这实际上可以通过简单的方式完成。

在 2.0 版本中,Bluebird 引入了执行此操作的 Promise.each 方法,因为循环 then 非常简单,但由于它非常常见并且一次又一次地被请求,最终它被添加为自己的方法。

function foo(item, ms){ // note bluebird has a delay method
return Promise.delay(ms, item).then(console.log.bind(console))
}

var items = ['one', 'two', 'three'];

Promise.each(items, function(item, i){
return foo(item, (items.length - i) * 1000)
});

这会产生与其他答案相同的结果,只是代码行数较少,并且还允许 Bluebird 对迭代执行优化。

关于javascript - 如何使用 bluebirdjs 按顺序链接 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com