javascript – Angularjs,等待嵌套的承诺

前端之家收集整理的这篇文章主要介绍了javascript – Angularjs,等待嵌套的承诺前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有3个服务返回3个promise,但第三个需要第二个数据,所以我把它称为第二个.我想等待所有三个承诺得到解决,这是我实现的方式,但不起作用(仅等待第一个和第二个).
var promise1,promise2,promise3;

promise1 = service1();
promise2 = service2();

promise2.then(function (data) {
  promise3= service3(data);

});

$q.all([ promise1,promise3]).then(function success() {
 //somehing
});

解决方法

您可以使用来自第三个服务的返回承诺分配第二个promise的then()回调.
var promise1,promise3;

promise1 = service1();
promise2 = service2();

promise3 = promise2.then(function (data) {
  return service3(data);
});

$q.all([ promise1,promise3]).then(function success() {
 //somehing
});

猜你在找的JavaScript相关文章