zoukankan      html  css  js  c++  java
  • umi-request ,errorHandler的自定义错误处理信息

    umi-request 的 errorHandler的错误处理是在接口请求的status!=200时的错误处理

    (所有的接口的status都是200,判断错误时自定义错误);自定义的错误信息

    
    
    const defaultOption = {
    prefix: baseUrl,
    // 接口超时时间
    timeout: 45000,
    // 请求方法
    method: "POST"
    }

    const codeMessage = {
    200: '服务器成功返回请求的数据。',
    201: '新建或修改数据成功。',
    202: '一个请求已经进入后台排队(异步任务)。',
    204: '删除数据成功。',
    400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
    401: '用户没有权限(令牌、用户名、密码错误)。',
    403: '用户得到授权,但是访问是被禁止的。',
    404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
    405: '请求方法不被允许。',
    406: '请求的格式不可得。',
    410: '请求的资源被永久删除,且不会再得到的。',
    422: '当创建一个对象时,发生一个验证错误。',
    500: '服务器发生错误,请检查服务器。',
    502: '网关错误。',
    503: '服务不可用,服务器暂时过载或维护。',
    504: '网关超时。',
    };

    /**
    * 请求拦截器
    * @param url 请求参数
    * @param options 请求配置
    */

    // 相应拦截器
    const responseInterceptor = async (response: any) => {
    if (response.status !== 200) {
    const err = new Error('服务器异常');
    throw err;
    } else {
    let result = await response.clone().json();
    console.log(result)
    return result
    }
    }

    /*
    * * 异常处理程序 */ const errorHandler = (error: any) => { const { response, data } = error; console.log(response,data ) if (response && response.status) { const errorText = codeMessage[response.status] || response.statusText; message.error(errorText); } if (!response&&!data) { message.error('哇哦,服务器出错啦,请稍候再试~'); } else if (data) { message.error(data.ret.msg); } }; 需要把data也带进去,去处理自定义错误信息
    export const request: RequestConfig = {
    ...defaultOption,
    errorHandler,
    // requestInterceptors: [requestInterceptor],
    responseInterceptors: [responseInterceptor]
    };
     
  • 相关阅读:
    阿里早期Android加固代码的实现分析
    如何利用C++的time头文件获取系统时间
    Python编写基于socket的非阻塞多人聊天室程序(单线程&多线程)
    Dalvik模式下在Android so库文件.init段、.init_array段构造函数上下断点
    手动绕过百度加固Debug.isDebuggerConnected反调试的方法
    request使用代理
    requests爬取豆瓣热门电视剧
    scrapy-继承默认的user-agent 中间件
    scrapy-下载器中间件 随机切换user_agent
    scrapy 直接在编辑器运行
  • 原文地址:https://www.cnblogs.com/xubaoer/p/14778466.html
Copyright © 2011-2022 走看看