gpt4 book ai didi

javascript - 如何知道angular完成了所有的处理和渲染

转载 作者:行者123 更新时间:2023-11-30 00:09:39 25 4
gpt4 key购买 nike

我需要停止进度条。如果我有多个 http 请求,我怎么知道所有线程何时完成以及所有响应都已呈现。我尝试在响应中使用 $httpProvider.interceptors,但我不知道这是否是最后一个 http 响应。而且你也不知道什么时候会呈现最后一个响应。

最佳答案

您可以在您的拦截器中通过 http.pendingRequests 跟踪挂起的请求

angular.module('myApp').factory('myHttpResponseInterceptor', function($q, $location, $injector, $rootScope){
var _http = null;

return {
request: function(config){
$rootScope.$broadcast("loader_show");
return config;
},
response: function(response){
_http = _http || $injector.get('$http');
if(_http.pendingRequests.length < 1){
$rootScope.$broadcast("loader_hide");
}
return response;
},
responseError: function (response) {
_http = _http || $injector.get('$http');
if(_http.pendingRequests.length < 1){
$rootScope.$broadcast("loader_hide");
}
console.log("response rejected in interceptor");
return $q.reject(response);
}
};
});

我已经在我的项目中使用了它,它工作得很好。

希望对你也有帮助。

关于javascript - 如何知道angular完成了所有的处理和渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37028551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com