axios - 5 - 错误处理

只要发生了请求,那么就会有请求错误的情况出现,axios 是如何处理错误的,且看下文。

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;
};

Read more

Gitlab 搭建

Gitlab 搭建

为什么? 想要自己搭建一个代码仓库无非是以下几点原因: 1. 公司内部项目 2. 自己的项目,但不适合在公网 3. 大部分的 git 仓库虽然有私有服务,但价格都不便宜,甚至不如一台云服务器来的便宜 配置及安装文档 Gitlab * 由于 gitlab 会用到 22 端口端口转发的化就走不了 git clone 的默认配置,且占用内存较高,不推荐使用 docker 进行部署; * 由于 gitlab 自带 nginx 默认情况下会与属主机的 nginx 冲突,因此推荐只使用 gitlab 自带的 nginx 进行端口转发; 最小化配置 # path /etc/gitlab/gitlab.rb external_url 'http://git.

By breeze
NPM 私服

NPM 私服

verdaccio 私服搭建,搭建过程中的一些问题以及解决: * docker compose 启动后,可能会报错:配置找不到,添加 config.yaml 文件到映射的 ./conf 目录即可,config.yaml 具体内容可在官网找到,下方也有最小化配置。 services: verdaccio: image: verdaccio/verdaccio container_name: 'verdaccio' networks: - node-network environment: - VERDACCIO_PORT=4873 - VERDACCIO_PUBLIC_URL=http://npm.demo.com ports: - '10001:4873'

By breeze