1. 程式人生 > >axios 請求超時處理

axios 請求超時處理

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