我正在使用$ q运行三个不同的 $ http 调用(在控制器和服务之间进行通信)。
首先,我有代码从db获取所有数据。
在使用中,
q = $q.defer();
$http({ url:"Url/fetchFeeds/", success:function(data){
d.resolve(data);
});
return r.promise;
对于Controller,我使用$ q.all等待ajax完成。
问题是我使用相同的流(Url / updateFeeds /)从第二个网址获取数据。但是在控制台中,第二个ajax调用转到" Url / fetchFeeds /"
我该如何解决这个问题?
答案 0 :(得分:0)
您可以使用$q.all
之类的
$q.all([p1.then(thenFn), p2.then(thenFn)])
.then(function(values) {
console.log(values);
return values;
});
答案 1 :(得分:0)
您应该使用$ http呼叫的退货承诺。
var callX = function() {
return $http({ url:"Url/fetchFeeds/", success:function(data){
return data;
});
}
您可以在数组中收集多个调用并使用$ q.all。
var promises = [];
promises.push(callX().then(...));
promises.push(callY());
$q.all(promises).then(...);