因为并不是全都会使用全局aixos,要针对不同的请求来进行不用的配置
//创建一个axios实例 const instance1 = axios.create({ baseURL: '默认地址', timeout: 5000 }) instance1({ url: '拼接地址' }).then(res => { console.log(res); })防止日后axios出问题时维护困难
//request.js //封装axios import axios from 'axios'; export function request(config, success, failure) { //创建实例 const instance = axios.create({ baseURL: '', timeout: 5000 }) //发送网络请求 instance(config) .then( res => { success(res); } ) .catch( err => { failure(err); } ) } //.vue //组件调用 import {request} from "./network/request"; request({ url: '' }, res => { console.log(res); }, err => { console.log(err); })再进一步封装
import axios from 'axios'; export function request(config) { return new Promise((resolve, reject) => { //创建实例 const instance = axios.create({ baseURL: '', timeout: 5000 }) //发送网络请求 instance(config) .then( res => { resolve(res); } ) .catch( err => { reject(err); } ) }) } import {request} from "./network/request"; request({ url: '', }).then(res => { console.log(res); }).catch(err => { console.log(err); })因为instance返回的就是Promise,所以可以直接返回instance
//request.js import axios from 'axios'; export function request(config) { //创建实例 const instance = axios.create({ baseURL: '', timeout: 5000 }) //发送网络请求 return instance(config) }主要参考这个教学视频学习:https://www.bilibili.com/video/BV15741177Eh?p=1