request请求

vue项目中封装request请求

  1. 在vue项目中创建 utils目录 往往这个目录是我们用来放自定义js文件的目录,在utils文件中创建一个request.js文件
    request请求
  2. 在vue文件中执行 npm i axios 安装 axios
  3. 接下来在request中引入 axios =》 import axios from “axios”
  4. 定义一个 axios.create方法: 定义一下请求地址 与 超时时间
    request请求
    5.创建一个函数 并返回一个Pomise 在 Promise中设置响应拦截
    import { HTTP_REQUEST_URL, HEADER } from “@/config/app”; //引入地址头
    import axios from “axios”;

const instance = axios.create({
baseURL: HTTP_REQUEST_URL, //请求地址
timeout: 5000, //超时时间
});
const defaultOpt = { login: true };
/**

  • 发送请求
    */
    function baseRequest(options) {
    // const token
    const headers = options.headers || {};
    // if (token) {
    // headers[‘X-Token’] = token
    // options.headers = headers
    // }
    return new Promise((resolve, reject) => {
    instance(options)
    .then((res) => {
    const data = res.data || {};
    if (res.status !== 200) { //响应拦截
    return reject({ message: “请求失败”, res, data });
    }

     if ([410000, 410001, 410002, 40000].indexOf(data.status) !== -1) {
       reject(res.data);
     } else if (res.status == 200) {
       return resolve(data, res);
     } else {
       return reject({ message: res.data.message, res, data });
     }
    

    })
    .catch((message) => reject({ message }));
    });
    }
    6.返回 request函数 并导出
    request请求

上一篇:async await


下一篇:promise