在AngularJs中同步进行多个http调用

时间:2015-02-04 11:06:10

标签: angularjs http

我在项目中使用AngularJs。我必须进行多个http调用,然后将合并的结果返回到我的视图。如何使用AngularJs实现这一目标?

请告诉我,因为我不是AngularJs的专家,需要一个正确的方法来解决这个问题。

2 个答案:

答案 0 :(得分:7)

使用promise API:

var wheatherPromise = $http.get(...);
var timePromise = $http.get(...);

var combinedPromise = $q.all({
    wheather: wheatherPromise,
    time: timePromise
})

combinedPromise.then(function(responses) {
    console.log('the wheather is ', responses.wheather.data);
    console.log('the time is ', responses.time.data);
});

有关详细信息,请参阅the documentation

答案 1 :(得分:0)

  • 在分离的函数中生成ur $ http请求或(AJS服务是 推荐)。
  • 根据你的列表
  • 在for循环中调用该函数
  • 声明范围变量在函数
  • 中包含一个空数组
  • 推送数组中的响应对象

避免在for循环中定义$ http.get,导致意外行为