使用Angular's $q.都是相互依赖的承诺

Using Angular's $q.all with codependent promises

本文关键字:依赖 承诺 Angular 使用      更新时间:2023-09-26

第二个承诺需要第一个承诺的结果作为参数。我已经看到了一个用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函数有类似的行为承诺。什么好主意吗?

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

来源:Angular 1.4 $q。解决文档。

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