我的意思是,如果我们点击一个url并尝试取消它,则会执行错误块。但我正在尝试的是避免在发生客户端错误时进入错误块并仅在执行错误块时服务器端在角度js
中出错答案 0 :(得分:0)
根据我对该问题的理解 - 如果请求超时,您将尝试确保不执行错误代码,仅在服务器返回错误时执行错误代码。
执行此操作的最佳方法是检查传递给catch块的error参数的status
属性,表示超时,状态为0 :
var req={
method : 'GET',
url :"url",
cache:'templateCache',
timeout: 100
};
$http(req)
.then( function () {
// Success case
console.log("success");
})
.catch( function (e){
// This happens if the request is cancelled
if(e.status === 0)
console.warn("Request timed out");
return;
// Handle server errors here.
console.error("Server error", e);
});