axios - 5 - 错误处理

console.info

该系类文章旨在研究 axios 的实现 。在研究源码的基础上,去理解 axios 是如何实现 ajax 请求并更好的去使用这个库。

简介

对应文件

  1. lib/core/enhanceError.js 用于添加错误信息
  2. lib/core/createError.js 用于创建错误对象

代码分析

createError

error 生成器,用于库内部,方便生成错误。

function createError(message, config, code, response) {
    // 新建 Error 对象
    var error = new Error(message);
    return enhanceError(error, config, code, response);
}

enhanceError

统一的错误处理函数

function enhanceError(error, config, code, response) {
    // 进一步描述错误信息,以及出错的 response
    error.config = config;
    if (code) {
        error.code = code;
    }
    error.response = response;
    return error;
};