无法让 $q.all 处理多个承诺
can't get $q.all work on multiple promises
我真的很纠结...我的控制器中有一个函数生成一定数量的承诺,传递给另一个也生成承诺的函数...
angular.forEach($scope.items,function(value,key) {
myService.getPage(item).then(function(data) {
myFunction(data)
});
function myFunction(singlePage) {
myService.getPage(singlePage.next).then(function(data) {
myFunction(data)
});
}
我想要实现的是以某种方式知道所有承诺何时会得到解决
我试图将我的承诺包装在一个数组中并以各种配置将其传递给 $q.all 但没有成功..任何形式的帮助都会非常酷!谢谢
忽略您创建的无限递归循环,让我们这样做...
var allPromises = [];
angular.forEach($scope.items,function(value,key) {
allPromises.push(myService.getPage(value));
});
$q.all(allPromises)
.then(function (arrayOfResults) {
// do something
});
需要注意的一点是,您传递的是值和键,但使用的是 "item"。您需要使用值。
我真的很纠结...我的控制器中有一个函数生成一定数量的承诺,传递给另一个也生成承诺的函数...
angular.forEach($scope.items,function(value,key) {
myService.getPage(item).then(function(data) {
myFunction(data)
});
function myFunction(singlePage) {
myService.getPage(singlePage.next).then(function(data) {
myFunction(data)
});
}
我想要实现的是以某种方式知道所有承诺何时会得到解决
我试图将我的承诺包装在一个数组中并以各种配置将其传递给 $q.all 但没有成功..任何形式的帮助都会非常酷!谢谢
忽略您创建的无限递归循环,让我们这样做...
var allPromises = [];
angular.forEach($scope.items,function(value,key) {
allPromises.push(myService.getPage(value));
});
$q.all(allPromises)
.then(function (arrayOfResults) {
// do something
});
需要注意的一点是,您传递的是值和键,但使用的是 "item"。您需要使用值。