haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.5k stars 3.26k forks source link

[vue] 你了解axios的原理吗?有看过它的源码吗? #304

Open haizhilin2013 opened 5 years ago

haizhilin2013 commented 5 years ago

[vue] 你了解axios的原理吗?有看过它的源码吗?

cj-front commented 5 years ago

1.axios通过对Promise的封装实现异步请求; 2. if(answer == '有'){ if(这个问题到此为止){ return ‘有’; }else{ return '没'; } }

ruochuan12 commented 4 years ago

我写的axios源码文章~

若川:学习 axios 源码整体架构,打造属于自己的请求库

hyj443 commented 3 years ago

我的逐行分析 深入浅出 Axios 源码(v0.23.0)

Cai-zhiji commented 1 year ago

axios的工作原理

创建请求: 当通过 Axios 发起一个 HTTP 请求时,它会创建一个请求实例,并配置请求的 URL、方法、请求头、参数、响应类型等。

发送请求: Axios 使用底层的 XMLHttpRequest 对象(在浏览器中)或 http 模块(在 Node.js 中)来发送请求。它通过调用底层的网络请求 API,将请求发送到服务器。

处理响应: 一旦服务器返回响应,Axios 就会将响应的状态码、响应头和响应数据封装在一个响应对象中。然后,它会检查响应的状态码,并根据状态码的不同来决定是调用 Promise 的 resolve(请求成功)还是 reject(请求失败)。

返回结果: 当响应处理完成后,Axios 将返回一个 Promise 对象。根据 Promise 的状态(成功或失败),可以使用 .then() 或 .catch() 方法来处理响应的数据或错误。