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
。然後,重試將變得毫無意義。
如何在失敗時執行重試連接?
您可以設置故障計數器,您將可以設置計數器,它告訴你,它試圖最大嘗試 –