import axios from 'axios'
//設置全局的請求次數,請求的間隙 axios.defaults.retry =2; axios.defaults.retryDelay = 1000; axios.interceptors.response.use(undefined, function axiosRetryInterceptor(err) { var config = err.config; // 如果config不存在或未設置重試選項,請拒絕 if(!config || !config.retry) {Vue.$vux.loading.hide(); return Promise.reject(err)}; // 設置變量跟蹤重試次數 config.__retryCount = config.__retryCount || 0; // 檢查是否已經達到最大重試總次數 if(config.__retryCount >= config.retry) { // vux轉圈圈的那個隱藏 Vue.$vux.loading.hide(); // 拋出錯誤信息 return Promise.reject(err); } // 增加請求重試次數 config.__retryCount += 1; // 創建新的異步請求 var backoff = new Promise(function(resolve) { setTimeout(function() { resolve(); }, config.retryDelay || 1); }); // 返回axios信息,重新請求 return backoff.then(function() { Vue.$vux.loading.hide(); return axios(config); }); });