一.axios实例初始化
//初始化axios import axios from 'axios' //使用create方法创建axios实例(默认post方法) export const Service = axios.create({ timeout: 7000, // 请求超时时间 baseURL: "xxx", //基础路径 method: 'post' //默认请求方法 }) // 添加请求拦截器 Service.interceptors.request.use(config => { // 打印输出请求配置信息 console.log(config) let token = localStorage.getItem("token") if (token) { //将token放到请求头发送给服务器,将tokenkey放在请求头中 config.headers.token = token; return config; } return config }) // 添加响应拦截器 Service.interceptors.response.use( response => { return response }, error => { return error })
二.Promise封装请求
// 引入初始化后的axios实例 import {Service} from "../utils/request" // 普通登录请求示例 // let loginRequest = data =>{ // return Service({ // url:'/user/login', // data // }) // } // Promise封装请求示例 let loginRequest = function(data={}){ return new Promise( (resolve,reject) =>{ Service({url:'/user/login',data}) .then( res => {if(res.status == 200) resolve( res.data )} ) .catch( err => reject( err.data )) }) } export {loginRequest}