vue-resource 請求超時處理辦法

超時以後能夠在then的第二個error方法中獲取,this

main.js中設置以下:spa

 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 })

 

頁面請求設置:code

this.$http.get(`repairs/${this.repairs_id}`,{
                params:{with:'room;user'},
                _timeout:100,//設置超時時間
            }).then((response)=>{
            },(err)=>{
                console.log(err.status);//若是超時,此處輸出408,也在這裏作超時處理操做
});
相關文章
相關標籤/搜索