axios原理

axios是一个基于Promise的http请求库,可用于浏览器的Node,

function getDefaultAdapter() {
 var adapter;
 if (typeof XMLHttpRequest !== ‘undefined‘) {
   //通过判断XMLHttpRequest是否存在,来判断是否是浏览器环境
   adapter = require(‘./adapters/xhr‘);
 } else if (typeof process !== ‘undefined‘) {
   //通过判断process是否存在,来判断是否是node环境
   adapter = require(‘./adapters/http‘);
 }
 return adapter;
}

通过XMLHttpRequest和process来判断是浏览器还是node环境,从而在不同的环境提供不同的http请求模块,实现客户端和服务端程序的兼容。

XMLHttpRequest是浏览器内置的一个对象,为客户端提供了在客户端和服务器之间传输数据,

process对象是node内置的一个全局变量,控制当前Node.js进程,

原文地址:https://www.cnblogs.com/alaner/p/14543152.html