有没有更简洁的方法来链接这些 Bluebird 承诺?

Is there a cleaner way to chain these Bluebird promises?

我有三个函数(A、B、C),每个函数 return 一个 promise。承诺链不需要先前承诺的任何信息,除非它们已完成。

B 必须等待 A 完成,C 必须等待 B 完成。

目前我有:

return A(thing)
.then(function () {
  return B(anotherThing);
})
.then(function () {
  return C(somethingElse);
});

感觉我浪费了很多 space(7 行实际上只有 3 行实际代码)。

这个works

return A(thing)
    .then(B.bind(null,anotherThing))
    .then(C.bind(null,somethingElse));

注意:绑定在 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));