angular 中如何管理多个 promise

具体问题如下:
clipboard.png
价格是由基础数据里的日期和增值服务共同决定的,分别对应 promise 请求。也就说当我在某一个 promise 回调中请求价格的时候是不知道另一个数据是否成功的。

我自己的解决办法是:在基础数据和增值服务的 promise 回调中都去判断对方是否存在,如果存在就去请求价格。
这个解决方法的问题:这只是请求两个数据,所以可以做成这样。
如果做成多个怎么处理(如何优雅的管理多个promise请求)?

阅读 3.1k
2 个回答
$q.all([promise, promise1])
  .then(function(res){
       // res[0].data is your promise response data
       // res[1].data is your promise1 response data
       ...
    });

$q的文档在这里。

Promise.all([基础数据Promise, 增值服务Promise])
.then((基础数据, 增值服务) => ...);

Promise.all能把多个Promise合并成一个大的Promise。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题