JS HTTP 請求庫哪家強?Axios,Request,Superagent,Fetch 還是 Supertest .
Web 開發中客戶端與服務器間的(de)交互非常重要,它有利于客戶端應用高(gāo)度動态化。用戶通過單擊按鈕的(de)交互方式向服務器發送請求,服務器檢索數據并返回,頁面無需重新加載,直接使用返回的(de)數據重新渲染其部分/整體內(nèi)容,或者對數據進行操作。
這其中的(de)技術原理(lǐ)是 AJAX,通過 XMLHttpRequest 實例實現。 為(wèi)了提升 AJAX 及 XMLHttpRequest 的(de)使用體驗,社區開發了一(yī)些無需處理(lǐ) AJAX 和(hé) XMLHttpRequest 就直接發出 HTTP 請求的(de)庫。
本文将帶你研究 5 個流行的(de) HTTP 庫,了解它們是如(rú)何實現的(de)。 希望能幫你省下一(yī)些時間。
提示:通過與 Bit 共享同步公共組件可(kě)以避免代碼重複。 把相同的(de)功能的(de)代碼變成共享組件,就可(kě)以随處使用它了,構建快,趕緊試試看。
Axios
基于 Promise 的(de) HTTP 客戶端,可(kě)用于浏覽器和(hé) Node.js
Axios 是一(yī)個基于 Promise 的(de) HTTP 庫,可(kě)用在 Node.js 和(hé)浏覽器上發起 HTTP 請求,支持所有現代浏覽器,包括 IE8+!
優點
同時支持 Node.js 和(hé)浏覽器
支持 Promise API
可(kě)以配置或取消請求
可(kě)以設置響應超時
支持防止跨站點請求僞造(XSRF)攻擊
可(kě)以攔截未執行的(de)請求或響應
支持顯示上傳進度
廣泛用于 React 和(hé) Vue 項目
缺點
用起來比較麻煩
Superagent
改良版 Ajax——與 Node.js HTTP 客戶端搭配使用
Superagent 是一(yī)個基于 Promise 的(de)輕量級漸進式 AJAX API,非常适合發送 HTTP 請求以及接收服務器響應。 與 Axios 相同,它既适用于 Node,也适用于所有現代浏覽器。
用 Superagent 發起 HTTP 請求就像在 request 對象上調用方法一(yī)樣簡單:
優點
它有一(yī)個插件生态,通過構建插件可(kě)以實現較多功能
可(kě)配置
HTTP 請求發送接口友好
可(kě)以為(wèi)請求鏈式添加方法
适用于浏覽器和(hé) Node
支持顯示上傳和(hé)下載進度
支持分塊傳輸編碼
支持舊(jiù)風格的(de)回調
繁榮的(de)插件生态,支持衆多常見功能
缺點
其 API 不符合任何标準
Request
編輯:--ns868