码迷,mamicode.com
首页 > 移动开发 > 详细

利用axios的request 拦截器,response 拦截器实现加载层的效果

时间:2018-05-29 17:14:52      阅读:2070      评论:0      收藏:0      [点我收藏+]

标签:type   position   time   ios   let   intercept   response   def   config   

import Vue from ‘vue‘
import router from ‘../router‘
import axios from ‘axios‘
import { Indicator } from ‘mint-ui‘;
import { Toast } from ‘mint-ui‘;
axios.defaults.timeout = 30000;
axios.defaults.headers.common[‘Content-Type‘] = ‘application/json;charset=UTF-8‘
// http request 拦截器
axios.interceptors.request.use(
    config => {
      Indicator.open({
        text: ‘加载中...‘,
        spinnerType: ‘fading-circle‘
      });
      return config;

    },
    err => {
      Indicator.close();
      Toast({
        message: ‘加载超时‘,
        position: ‘middle‘,
        duration: 3000
      });
      return Promise.reject(err);
    });

// http response 拦截器
axios.interceptors.response.use(
    response => {
      let timetp = null;
      clearTimeout(timetp);
      timetp = setTimeout(()=>{
        Indicator.close();
        clearTimeout(timetp);
      },500)
      // Indicator.close();
      return response;
    },
    error => {
      if (error.response) {
        return Promise.reject(error)
    }
});
Vue.prototype.$ajax = axios;

 

利用axios的request 拦截器,response 拦截器实现加载层的效果

标签:type   position   time   ios   let   intercept   response   def   config   

原文地址:https://www.cnblogs.com/i-want-to-be-like-an-sun/p/9105722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!