这是我的例子,这很好用:
var first = $http.get("/app/data/first.json"),
second = $http.get("/app/data/second.json"),
third = $http.get("/app/data/third.json");
$q.all([first, second, third]).then(function(result) {
var tmp = [];
angular.forEach(result, function(response) {
tmp.push(response.data);
});
return tmp;
}).then(function(tmpResult) {
$scope.combinedResult = tmpResult.join(", ");
});
这里first, second and third
所有工作都没有依赖。例如,第二个requires some
ID from
第一个and
第三个requires some
数据from
第二个... then how to initiate the
请求依赖于其他
var first = $http.get("/app/data/first.json"), //fetching id
second = $http.get("/app/data/second.json"), //needs some id from first
third = $http.get("/app/data/third.json"); //needs some data from second
应如何处理。此外,查询将通过一系列添加请求或一系列添加$q.all
。
任何人都要解释我更新我的代码吗?
答案 0 :(得分:2)
first.then(function(data1){
second.then(data2){
third.then(data3){
});
});
});
第一,第二和第三是你的承诺。 在第二个回调函数中可以收到错误,如此。
promise.then(function(successData){
// success here
}, function(errorData){
// error here.
});