【发布时间】:2015-12-11 20:56:40
【问题描述】:
我的 webapp 正在与之通信的 API 有时会过载,如果它无法处理请求,则会发送 500 Internal Server Error。
我的 Web 应用程序可以发送 100 多个不同的请求,因此如果我对每个请求单独实施重试,我将花费数小时的打字时间。
我已经在使用 $httpProvider 拦截器了,这里是(简体)
$httpProvider.interceptors.push(function ($q) {
return {
responseError: function (response) {
switch (response.status) {
case 401 :
window.location = "/";
alert('Session has expired. Redirecting to login page');
break;
case 500 :
// TODO: retry the request
break;
}
return $q.reject(response);
}
};
});
从服务器收到 500 响应码后如何重新发送请求?
【问题讨论】:
-
也可以处理丢失的互联网连接(HTTP 0 状态)。你想让我在答案中添加它吗?
-
如果您对答案不满意,您能告诉我们如何帮助您解决问题吗?如果它已经在答案的帮助下解决了,那么适当地处理赏金会很好,或者如果你自己解决了它,那么提供你的解决方案会很好。谢谢。
标签: angularjs angular-http-interceptors