• axios的二次封装


    参考:http://www.axios-js.com/docs/index.html#Browser-Support

    fetch.js文件

    import axios from 'axios'
    const instance = axios.create({
      baseURL: process.env.VUE_APP_INFO,
      timeout: 1000,
      headers: {'Content-Type': 'application/json;charset=UTF-8'},
      data:{}
    });
    
    instance.interceptors.request.use((config)=> {
      // Do something before request is sent
      return config;
    }, function (error) {
      // Do something with request error
      return Promise.reject(error);
    });
    
    // Add a response interceptor
    instance.interceptors.response.use((res)=> {
      // Do something with response data
      let data = res.data;
      if(+data.error_data){
        switch(+data.error_data){
          case 30000:
            console.log("3000")
            break
          default:
            break
        }
      }
     
      console.log('111')
      return res
    }, function (error) {
      console.log(error)
      // Do something with response error
      return Promise.reject(error);
    });
    
    
    export default (options) =>{
      return new Promise((resolve,reject)=>{
        instance(options).then(res=>{
          console.log('222')
          resolve(res.data)
        }).catch((error)=>{
          reject(error)
        })
      })
    }

    先输出111,再输出222,返回的是promise,所以component文件调用的时候要用async或者then
     
     
    index.js文件
    import fetch from './fetch'
    export const affProList = (data)=> fetch({
      url:'product/affProList',
      method:'POST',
      data    // data是post,params是get的方式
    })
     
    component文件
    方法1:
    import {affProList} from 'api'
    let res =  affProList({"ksbm": this.secondly.ksbm});
    res.then((data)=>{
        console.log(data)
    })
    方法2:
    async  getSecondlyProduct(){
      try(){
        let {affProList} = await import('api')
        let res = await affProList({"ksbm": this.secondly.ksbm});
      }catch(e){
        console.log(e)
      }
    }
     
     
  • 相关阅读:
    设计模式之桥接模式
    设计模式之适配器模式
    设计模式之代理模式
    设计模式之建造者模式
    设计模式之抽象工厂模式
    设计模式之工厂方法模式
    设计模式之简单工厂模式
    设计模式之原型模式
    api接口测试的步骤
    3种优化回归测试的方法
  • 原文地址:https://www.cnblogs.com/init00/p/12598564.html
Copyright © 2020-2023  润新知