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

Using Angular's $q.all with codependent promises

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

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 相似的行为。有什么想法吗?

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

来源:Angular 1.4 $q.resolve docs.

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

来源:Angular 1.3 Deferred API docs.