gpt4 book ai didi

javascript - AngularJS 自定义 $http 服务,具有自动重试功能

转载 作者:行者123 更新时间:2023-11-28 06:44:25 25 4
gpt4 key购买 nike

我正在尝试执行自定义 $http 服务,该服务将自动重试失败的连接。我的代码看起来像这样:

angular.factory('myHttp', service);

function service($http){
var obj = {};
obj.get = function(path) {
return $http.get(path).then(function(result){
return result;
},function(result){
obj.get(path);
});
}
return obj;
}

使用时,几乎就像使用$http一样正常使用。例如:

    myHttp.get($scope.url).
then(function(response) {
console.log("It's success");
$scope.status = response.status;
$scope.data = response.data;
});

连接成功即可。但是,如果连接失败,它仍然返回没有数据的响应,控制台日志将显示错误:响应未定义。那么,重试将变得毫无意义。

如何让服务在失败时重试连接?

最佳答案

在失败时不要调用服务,而是在调用服务的地方调用

function doIt() {
myHttp.get($scope.url).
then(function (response) {
console.log("It's success");
$scope.status = response.status;
$scope.data = response.data;
}, function () {
doIt();
});
}

关于javascript - AngularJS 自定义 $http 服务,具有自动重试功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33517109/

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