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,也在这里做超时处理操作 });