javascript - 如何 "join"2个 Angular 网络请求

标签 javascript angularjs performance asp.net-web-api

我尝试合并来自 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/

相关文章:

javascript - 为什么我的计算结果有时是不确定的?

javascript - 使用 localstorage 保存应用程序状态

javascript - 如何在单击复选框时使用数据库中的值填充输入文本字段

angularjs - 自动重定向到子状态

javascript - 在客户端对网页进行注释

javascript - 为什么可以在 AngularJS 的路由上定义 Controller ?

ruby-on-rails - 大型项目的 sprockets 最佳实践

jquery - 需要 jQuery 动画的性能帮助

针对 PostgreSQL 8.4.6 的 java.sql.Connection 测试

javascript - 本地主机的 Google map api 使用