vue-resource 请求超时处理办法

超时之后可以在then的第二个error方法中获取,

main.js中设置如下:

 1 Vue.http.interceptors.push((request, next) => {
 2     let timeout;
 3     // 這裡改用 _timeout
 4     if (request._timeout) {
 5         timeout = setTimeout(() => {
 6         //自定义响应体 status:408,statustext:"请求超时",并返回给下下边的next
 7             next(request.respondWith(request.body, {
 8                  status: 408,
 9                  statusText: '请求超时'
10             }));
11             
12         }, request._timeout);
13     }
14     next((response) => {
15     console.log(response.status)//如果超时输出408
16     return response;
17     })
18 })

页面请求设置:

this.$http.get(`repairs/${this.repairs_id}`,{
                params:{with:'room;user'},
                _timeout:100,//设置超时时间
            }).then((response)=>{
            },(err)=>{
                console.log(err.status);//如果超时,此处输出408,也在这里做超时处理操作
});