angualrjs 配置超时时间
timeout 1
本想通过$httpProvider的defaults属性配置timeout时间, defaults中没有这个属性.
https://docs.angularjs.org/api/ng/provider/$httpProvider#defaults
timeout 2
在拦截器中为request的config配置timeout, 在response中根据xhrStatus=timeout来处理超时. 奈何response中没找到这个xhrStatus

官网里说status=-1表示请求被取消, timeout时就会取消请求, 那就用这个来判断吧
https://docs.angularjs.org/api/ng/service/$http#$http-returns


代码
```
(function() {
angular.module("mobile")
.factory('HttpInterceptor', ['$q',
function($q) {
return {
request: function(config) {
// 设置超时时间, 毫秒
config.timeout = 1;
if (config.url.search("service/") < 0)
return config;
if (localStorage.getItem('token')) {
config.params = config.params || {};
config.params['token'] = localStorage.getItem('token');
config.params['t'] = new Date().getTime();
}
return config;
},
requestError: function(err) {
return $q.reject(err);
},
response: function(res) {
console.log('res: ',res);
if(res.statusText=='timeout')
{
console.log('timeout: ',111);
}
if (res.data && res.data.code) {
switch (res.data.code) {
case '000':
return res
case '100':
// alert(res.data.msg)
// 账号未注册
localStorage.removeItem('token');
localStorage.removeItem('groupid');
return res
case '200':
// session 无效
console.log(res.data.msg)
localStorage.removeItem('token');
localStorage.removeItem('groupid');
window.location.href = '';
break
}
}
return res
},
responseError: function(err) {
if (-1 === err.status) {
// 请求超时
alert('请求超时');
} else if (500 === err.status) {
// 处理各类自定义错误
} else if (501 === err.status) {
// ...
}
return $q.reject(err);
}
};
}
])
.config(['$httpProvider',
function($httpProvider) {
$httpProvider.interceptors.push('HttpInterceptor');
}
])
})();
angualrjs 配置超时时间的更多相关文章
- dubbo面试题之dubbo-client 和dubbo-server同时配置超时时间,是以哪个为准;
根据官网表示: 以 timeout 为例,下图显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似: 方法级优先,接口级次之,全局配置再次之. 如果级别一样, ...
- mybatis配置sql超时时间
mybatis如果不配置,默认超时时间是不做限制的.当系统慢sql很多时,势必会增加数据库压力,系统性能及稳定性降低.所以有必要要设置sql超时设置,下面配置超时时间是5分钟. 第一步:全局配置如下 ...
- Java发送邮件必带超时时间配置
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在线上遇到了一个发送邮件的问题,记录一下. 一.先说 ...
- 【Spring Cloud 源码解读】之 【如何配置好OpenFeign的各种超时时间!】
关于Feign的超时详解: 在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务 ...
- Mybatis设置超时时间
Mybatis设置超时时间 mybatis如果不指定,默认超时时间是不做限制的,默认值为0.mybatis sql配置超时时间有两种方法: 1.全局配置 在mybatis配置文件的settings节点 ...
- SpringCloud之Feign 负载均衡请求超时时间
版本声明: SpringCloud:Greenwich.SR4 SpringBoot:2.1.9.RELEASE Feign调用服务的默认时长是1秒钟,也就是如果超过1秒没连接上或者超过1秒没响应,那 ...
- config文件中可以配置查询超时时间
web.config配置数据库连接 第一种:获取连接字符串 首先要定义命名空间 system.configuration 1. string connstr= string constr = Con ...
- GRUB2配置详解:默认启动项,超时时间,隐藏引导菜单,配置文件详解,图形化配置
配置文件详解: /etc/default/grub # 设定默认启动项,推荐使用数字 GRUB_DEFAULT=0 # 注释掉下面这行将会显示引导菜单 #GRUB_HIDDEN_TIMEOUT=0 # ...
- Confluence 6 配置数据库查询超时时间
如果数据库的查询时间太长同时你的应用程序显示没有响应,你可以配置数据库的查询超时时间.在默认情况下 Confluence 没有超时时间.希望配置数据库查询超时时间,在你的测试服务器上进行下面的操作: ...
随机推荐
- springmvc基础使用配置
前言 本案例是在idea编辑器下,maven管理项目的前提下. 步骤 1.新建maven项目 2.配置web.xml <?xml version="1.0" encoding ...
- mysql配置utf8_mb4
http://blog.csdn.net/u013145194/article/details/51527389 注:以上是转载,但我实际使用的时候,修改配置文件重启数据库,然后修改表的类型即可 20 ...
- IDEA链接mySql问题 : You have an error in your SQL syntax : 'OPTION SQL_SELECT_LIMIT=1000' (or 'OPTION SQL_SELECT_LIMIT=DEFAULT')
IDEA控制台错误信息: check the manual that corresponds to your MySQL server version for the right Code: 1064 ...
- Python GUI - tkinter
目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...
- element-ui upload组件上传
方法一: <el-table-column label="操作"> <template slot-scope="scope"> < ...
- HDFS常用API(1)
一.HDFS集群API所需要jar包的maven配置信息 <dependency> <groupId>org.apache.hadoop</groupId> < ...
- NLR:利用非线性回归,梯度下降法求出学习参数θ,进而求得Cost函数最优值——Jason niu
import numpy as np import random def genData(numPoints,bias,variance): x = np.zeros(shape=(numPoints ...
- windows系统nexus3安装和配置
一.前言 为什么要在本地开发机器上安装nexus?首先声明公司内部是有自己的nexus仓库,但是对上传jar包做了限制,不能畅快的上传自己测试包依赖.于是就自己在本地搭建了一个nexus私服,即可以使 ...
- Oracle date-time
Name Description ADDDATE() Add time values (intervals) to a date value ADDTIME() Add time CONVERT_TZ ...
- XamarinAndroid组件教程RecylerView适配器使用动画
XamarinAndroid组件教程RecylerView适配器使用动画 为RecylerView使用RecylerViewAnimators组件中提供的适配器动画,需要使用RecyclerView类 ...