axios 請求超時處理
阿新 • • 發佈:2019-02-16
https://www.cnblogs.com/zhouyangla/p/6753673.html
例項方法
可用的例項方法如下所示。 指定的配置將與例項配置合併。
axios#request(config)
axios#get(url [,config])
axios#delete(url [,config])
axios#head(url [,config])
axios#post(url [,data [,config]])
axios#put(url [,data [,config]])
axios#patch(url [,data [,config]])
請求配置
這些是用於發出請求的可用配置選項。 只有url是必需的。 如果未指定方法,請求將預設為GET。
// `timeout`指定請求超時之前的毫秒數。 // 如果請求的時間超過'timeout',請求將被中止。 timeout: 1000,
query: function () { var self = this self.$nextTick(function () { axios.post(localStorage.storageServUrl + 'search', { param: self.from, page: self.searchCondition.pageNo }, { headers: { 'Content-Type': 'application/json;charset=UTF-8' }, timeout: 30000 // 設定請求超時時間30s } ).then(function (res) { if (res.data.code === 0 && res.data.data.length !== 0) { var curquestionList = res.data.data if (self.searchCondition.pageNo === 1) { self.List = curquestionList setTimeout(function () { self.showLoadMore = false self.showLoadMoreOk = true }, 1500) } else if (self.searchCondition.pageNo > 1) { // 上拉載入,翻頁,拼接陣列 self.List = self.List.concat(curquestionList) } self.scrollMode = 'touch' } else if (res.data.code === 0 && res.data.data.length === 0) { setTimeout(function () { self.showLoadMore = false self.showLoadMoreOk = true }, 1500) } else if (res.status !== 200) { // status不是200的 if (self.searchCondition.pageNo === 1) { self.showLoadMore = true self.showLoadMoreOk = false } } }).catch(function (error) { console.log(error) var str = error + '' if (self.searchCondition.pageNo === 1) { if (str.search('timeout') !== -1) { // 超時error捕獲 self.showLoadMore = true self.showLoadMoreOk = false } } }) }) },