是否有一种优雅的方式将承诺链接在一起?

时间:2014-10-02 11:43:26

标签: javascript promise q bluebird

我知道可以链接这样的承诺:

somePromise
  .then(function() { return someOtherPromise; })
  .then(function() { return yetAnotherPromise; });

但是有更短的路吗?在我看来,这是一个非常常见的用例,所以我希望有一个这样的内置机制:

somePromise.and(someOtherPromise).and(yetAnotherPromise);

也许我错过了什么?

(编辑:应该提到我使用Bluebird和Node,这是~Devises / A)

1 个答案:

答案 0 :(得分:0)

我们说你有:

var promise2 = function() {
    return someOtherPromise;
};

var promise3 = function(promise2) {
    return someOtherPromise;
};

你这样的链子:

promise1
  .then(promise2) //promise 2 returns its promise
  .then(promise3); //promise3 get promise2 automatically injected as a parameter and do its job