umi-request 一个新的请求工具

简单封装

import { extend } from "umi-request";
const request = extend({
  prefix: "xxx",//相当于baseurl 
  timeout: 10000,
  errorHandler,
});

function errorHandler(error) {
  const codeMap = {
    500: "系统异常",
    404: "请求无效",
    403: "请求403",
  };
  if (error.response) {
    let status = codeMap[error.response.status];
    if (status) {
      alert(status);
    } else {
      throw error;
    }
  } else {
    throw error;
  }
  //
}

// request拦截器, 改变url 或 options.
request.interceptors.request.use((url, options) => {
  return {
    url,
    options: { ...options, interceptors: true },
  };
});

// 局部拦截器使用
request.interceptors.response.use((response, options) => {
  return response;
});

export default request;

// 使用
 import request from 'xxxx'
  request("/api/getMenu")
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });


posted @   阿臻  阅读(5026)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2019-12-11 关于axios请求携带cookie以及封装
点击右上角即可分享
微信分享提示