使用Angular的$ q.all和相互依赖的承诺

时间:2015-08-07 19:34:30

标签: javascript angularjs angular-promise es6-promise

第二个承诺需要第一个承诺作为参数的结果。 我have seen an example用ES6承诺解决这个问题。

firstThingAsync()  
  .then(function(result1) {
    return Promise.all([Promise.resolve(result1), secondThingAsync(result1)]); 
  })
  .then(function(result1, result2) {
    // do something with result1 and result2
  })
  .catch(function(err){ /* ... */ });

但我不确定$ q函数与Promise.resolve有类似的行为。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在Angular 1.4中,您可以使用$q.resolve(result1)

来源:Angular 1.4 $q.resolve docs

在旧版本中,您可以使用$q.defer().resolve(result1)

来源:Angular 1.3 Deferred API docs