有没有一种更干净的方式来把这些蓝鸟的承诺联系起来
Is there a cleaner way to chain these Bluebird promises?
我有三个函数(A, B, C),每个函数都返回一个promise。承诺链不需要任何来自前一个承诺的信息,除了它们已经完成。
B必须等待A完成,C必须等待B完成。
目前我有:
return A(thing)
.then(function () {
return B(anotherThing);
})
.then(function () {
return C(somethingElse);
});
感觉我浪费了很多空间(7行代码实际上只有3行代码)。
此works
return A(thing)
.then(B.bind(null,anotherThing))
.then(C.bind(null,somethingElse));
注意:bind在IE8或更早版本上不可用-但有一个polyfill - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
在ES2015中,你可以这样做- iojs将允许你启用箭头功能,但它们显然在某些方面被破坏了
return A(thing)
.then(() => B(anotherThing))
.then(() => C(somethingElse));
相关文章:
- 在蓝鸟中处理异常
- 而循环使用蓝鸟承诺
- 蓝鸟承诺并抓住树枝
- 蓝鸟的done()和spread()之间的区别
- 蓝鸟承诺的困难.bind()
- 蓝鸟没有正确解决承诺
- 将异步工作流更改为承诺(蓝鸟)
- 蓝鸟承诺 - 嵌套与拒绝模式
- 蓝鸟承诺循环
- Promise.每个在蓝鸟都有某种所有操作完成的回调吗?
- 创建具有蓝鸟承诺的节流功能
- 蓝鸟递归承诺未得到解决/实现
- 蓝鸟与猫鼬,类型错误:.create(..).然后(..).Nodeify不是一个函数
- 蓝鸟中未经处理的拒绝
- 有前途的已经承诺的图书馆与蓝鸟
- 停止蓝鸟承诺中的错误传播
- 蓝鸟承诺和领域
- 连锁承诺(蓝鸟)
- 我能不能早点用蓝鸟承诺打破链条
- 有没有一种更干净的方式来把这些蓝鸟的承诺联系起来