我尝试合并来自 2 个 webApi 的数据。类似这样的事情:
$http.get($scope.apiUrl1 + 'GetEmployees').success(function(data1) {
//process data1
$http.get($scope.apiUrl2 + 'GetEmployees2').success(function(data2) {
//process data2
var data = data1.join(data2);
})
})
我不喜欢这个解决方案是因为 apiUrl2 是在第一个请求响应之后调用的。
有没有办法同时调用两个API并等待两个API的答复? Promise 可以作为解决方案吗?
最佳答案
使用$q.all
。首先将$q
注入(inject)到 Controller /
let arr = [$http.get($scope.apiUrl1 + 'GetEmployees'), $http.get($scope.apiUrl2 + 'GetEmployees2')]
$q.all(arr).then(function (response) {
//process data2
var data = response[0].data.concat(response[1].data);
})
关于javascript - 如何 "join"2个 Angular 网络请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50874405/