记录axios响应拦截器配置-reques.js
import axios from 'axios'; import { baseURL, timeout } from '../config/api'; // 请求数据体的head // let dataHead = { // agentId: '', // agentName: '', // tradeNo: '' // }; // 实例 const Axios = axios.create({ baseURL, timeout, // 请求超时时间 withCredentials: true }); // 配置请求拦截器 Axios.interceptors.request.use(config => { // TODO 请求添加参数、修改请求头等操作 // 例如:封装请求数据结构 // if (_.lowerCase(config.method) === 'post' && !_.isEmpty(config.data)) { // config.data.head = dataHead; // } return config; }, error => { if (error.message && error.message.indexOf('timeout') >= 0) { console.error('请求超时'); } else { console.error(error); } return Promise.reject(error); }); // 配置响应拦截器 Axios.interceptors.response.use(res => { if (res.data && res.data.errorCode !== undefined) { if (res.data.errorCode.toString() === '0') { // TODO 此处可对响应内容进行一些通用处理... return res.data; } else { // 业务处理失败,此处可以进行一些通用错误处理,或者直接抛出api调用处的catch处理 console.error(res.data); return Promise.reject(res.data); } } else { const errorMsg = `无响应内容,或响应内容格式有误,请检查接口。data: ${JSON.stringify(res.data)}`; console.error(errorMsg); return Promise.reject(new Error(errorMsg)); } }, error => { // TODO 此处可以对响应异常进行一些通用处理,一般是http响应码403、404、500 console.error(error); return Promise.reject(error); }); export default Axios;
本文来自博客园,作者:不如饲猪,转载请注明原文链接:https://www.cnblogs.com/ifeelthecall/p/15746598.html

浙公网安备 33010602011771号