如何在角度资源中的查询之间传递数据?

时间:2015-08-20 05:07:19

标签: angularjs angular-resource

这是我的例子,这很好用:

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

来进行

任何人都要解释我更新我的代码吗?

1 个答案:

答案 0 :(得分:2)

first.then(function(data1){
  second.then(data2){
    third.then(data3){

    });
  });
});

第一,第二和第三是你的承诺。 在第二个回调函数中可以收到错误,如此。

promise.then(function(successData){
  // success here
}, function(errorData){
  // error here.
});