您當前位置: 南順網絡>> 官方資訊>> 建站知識

JS HTTP 請求庫哪家強?Axios,Request,Superagent,Fetch 還是 Supertest .

Web 開發中客戶端與服務器間的交互非常重要,它有利于客戶端應用高度動態化。用戶通過單擊按鈕的交互方式向服務器發送請求,服務器檢索數據并返回,頁面無需重新加載,直接使用返回的數據重新渲染其部分/整體內容,或者對數據進行操作。

這其中的技術原理是 AJAX,通過 XMLHttpRequest 實例實現。 為了提升 AJAX 及 XMLHttpRequest 的使用體驗,社區開發了一些無需處理 AJAX 和 XMLHttpRequest 就直接發出 HTTP 請求的庫。

本文將帶你研究 5 個流行的 HTTP 庫,了解它們是如何實現的。 希望能幫你省下一些時間。

提示:通過與 Bit 共享同步公共組件可以避免代碼重復。 把相同的功能的代碼變成共享組件,就可以隨處使用它了,構建快,趕緊試試看。

Axios

基于 Promise 的 HTTP 客戶端,可用于瀏覽器和 Node.js

Axios 是一個基于 Promise 的 HTTP 庫,可用在 Node.js 和瀏覽器上發起 HTTP 請求,支持所有現代瀏覽器,包括 IE8+!

優點

  • 同時支持 Node.js 和瀏覽器

  • 支持 Promise API

  • 可以配置或取消請求

  • 可以設置響應超時

  • 支持防止跨站點請求偽造(XSRF)攻擊

  • 可以攔截未執行的請求或響應

  • 支持顯示上傳進度

  • 廣泛用于 React 和 Vue 項目

    缺點

    • 用起來比較麻煩


    Superagent

    改良版 Ajax——與 Node.js HTTP 客戶端搭配使用

    Superagent 是一個基于 Promise 的輕量級漸進式 AJAX API,非常適合發送 HTTP 請求以及接收服務器響應。 與 Axios 相同,它既適用于 Node,也適用于所有現代瀏覽器。

    用 Superagent 發起 HTTP 請求就像在 request 對象上調用方法一樣簡單:

     

    優點

    • 它有一個插件生態,通過構建插件可以實現較多功能

    • 可配置

    • HTTP 請求發送接口友好

    • 可以為請求鏈式添加方法

    • 適用于瀏覽器和 Node

    • 支持顯示上傳和下載進度

    • 支持分塊傳輸編碼

    • 支持舊風格的回調

    • 繁榮的插件生態,支持眾多常見功能

    缺點

    • 其 API 不符合任何標準


    Request


    編輯:--ns868