1
我想做一个自定义$ 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;
});
它可以在连接成功时起作用。但是,如果连接失败,它仍然会返回响应而没有数据,控制台日志将显示Error: response is undefined
。然后,重试将变得毫无意义。
如何在失败时执行重试连接?
您可以设置故障计数器,您将可以设置计数器,它告诉你,它试图最大尝试 –