• axios的实例和模块封装


    axios的实例应用

    为什么要创建实例

    在开发大型项目时,最好不要直接使用全局的axios,而是创建单独的实例

    axios实例的创建和使用

    import axios from 'axios'
    //创建axios实例
    const instance1 = axios.create({
      baseURL:'http://123.207.32.32:8000',
      timeout:5000
    })
    //使用实例
    instance1({
      url:'/home/multidata'
    }).then(res=>{
      console.log(res)
    })
    instance1({
      url:'/home/data',
      params:{
        type:"page",
        page:1
      }
    }).then(res=>{
      console.log(res)
    })
    //创建其他实例(每个实例有自己独立的配置)
    const instance2 = axios.create({
      baseURL:'https://movie.douban.com/',
      timeout:3000
    })

     为什么要封装

    在多个组件中,避免直接import axios from 'axios'

    封装方法1

    src etwork equest.js 封装
    import axios from 'axios'
    
    //创建一个叫request的实例
    export function request(config) {
     return new Promise((resolve,reject)=>{
       //创建实例
       const instance = axios.create({
         baseURL:'http://123.207.32.32:8000',
         timeout:5000
       })
       //发送网络请求
       instance(config)
         .then(res=>{
           resolve(res)
         })
         .catch(err=>{
           reject(err)
         })
     })
    }
    View Code
    使用
    //request模块
    import {request} from "./network/request";
    
    //request返回的是一个Promise 所以可以直接.then
    request({
      url:'/home/multidata'
    }).then(res=>{
      console.log(res);
    }).catch(err=>{
      console.log(err);
    })
    //为什么 instance 可以直接调.then 
    //因为AxiosInstance的返回值本身就是一个Promise
    因此可以简略成封装方法2

     

    封装方法2 (推荐)

     src etwork equest.js 封装
    import axios from 'axios'
    //创建一个叫request的实例
    export function request(config) {
       //创建实例
       const instance = axios.create({
         baseURL:'http://123.207.32.32:8000',
         timeout:5000
       })
       //发送网络请求
       //为什么 instance 可以直接调.then
       //因为AxiosInstance的返回值本身就是一个Promise 只要直接return就可以了
       return instance(config)
    }
    使用方法和原来一样
  • 相关阅读:
    07、从0到1:API测试怎么做?
    06、软件测试工程师的核心竞争力是什么?
    05、如何高效填写软件缺陷报告?
    04、你知道软件开发各阶段都有哪些自动化测试技术吗?
    03、为什么要做自动化测试?什么样的项目适合做自动化测试
    02、如何设计一个"好的"测试用例
    01、你真的懂测试吗?从"用户登录"测试谈起
    2020年03月15号--提升团队工作效率的一些方法
    01月02号总结
    ietester
  • 原文地址:https://www.cnblogs.com/polax/p/13274026.html
Copyright © 2020-2023  润新知