[Javascript] API請求: Axios

Axios

https://github.com/axios/axios


HTTP 請求庫 - Axios 源碼分析

https://mp.weixin.qq.com/s?__biz=Mzg2ODQ1OTExOA==&mid=2247493126&idx=1&sn=eded2c597f9e22b9b4558ee58e941eee


[譯] Axios 內部設計分析

https://blog.hhking.cn/2018/09/04/http-request-library-with-axios/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io


How to Implement an HTTP Request Library with Axios

https://www.tutorialdocs.com/article/axios-learn.html


Axios 的設計優點︰

1.發送請求函數的處理邏輯

正如前面章節提到的,axios 並沒有把發送請求的 dispatchRequest 函數當成特殊函數對待。實際上,dispatchRequest 函數放在佇列的中間,從而保證佇列處理的一致性並提高代碼的可讀性。


2.適配器的處理邏輯

在適配器的的處理邏輯中,http 和 xhr 模組(http 用於 Node.js 發送請求,xhr 用於流覽器發送請求)並不直接放在 dispatchRequest 模組中,而是通過預設配置從 default.js 引入。從而不僅可以保證兩個模組的低耦合,而且為將來的用戶預留了定制化請求的空間。


3.取消 HTTP 請求的處理邏輯

在取消 HTTP 請求的邏輯中,axios 設計使用 Promise 作為觸發器,把 resolve 方法作為 callback 的參數傳遞到外面。這樣不僅確保內部邏輯的一致性,還可以確保在需要取消請求時,不必直接修改相關類的樣本資料,從而可以最大程度避免侵入其他的模組。



#Axios, http, request, xhr, ajax


留言