AngularJS $ http请求等待直到上一个请求完成

时间:2018-08-16 13:54:43

标签: angularjs ajax

我发送的请求花了很短的时间来响应,同时发送了另一个与第一个请求完全独立的请求,但是仅在第一个请求完成时才处理第二个请求。甚至路由更改也显示待处理,直到第一个请求完成

请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您应该尝试将第二个请求发送到第一个请求的回调中。

例如:

// First GET Request:
$http.get('/firstUrl').then(function(response) {
    // Start second request after the first is finished.
    return $http.get('/secondUrl');
}).then(function(response) {
    // Change route or something else with the second response
    console.log(response);
});

这样,第二个请求仅在第一个请求完成时才可以启动,并且您还可以在启动另一个请求之前处理由第一个请求获得的响应对象。