Node.js終於有了Fetch API
Fetch API 由來已久,它的推出預示著一個實時和互動式網頁的新時代。2022 年 2 月 1 日,Node.js 核心團隊合併了一個拉取請求,將 Fetch API新增到Node.js。
2015年,Fetch API作為XMLHttpRequest的現代繼承者被推出,它隨後成為在Web應用中進行非同步呼叫的事實標準。
與XMLHttpRequest相比,Fetch的一個顯著優勢是: 使用了promises,允許一個更簡單、更乾淨的API,同時避免了回撥地獄。
儘管Fetch API已經存在了一段時間,但由於一些限制,它還沒有被納入Node.js的核心。
在Hacker News上一個由Node核心貢獻者回答的問題中指出,瀏覽器的Fetch API實現依賴於基於瀏覽器的Web Streams API和AbortController介面(用於中止獲取請求),直到最近Node.js中才有這個AbortController介面。
在增加Fetch API之前,請求模組request module 是Node中進行HTTP請求的最流行方法。
但是,整個JavaScript生態系統迅速發展,新引入的模式使request過時了:一個重要例子是async/await;
request API中沒有這方面的規定,而且由於這些限制,該專案後來被廢棄了。
2018年,Undici作為Node.js的一個更新更快的HTTP/1.1客戶端被推出,支援管道和池等功能。經過核心團隊的努力工作,Undici使Node.js中的fetch()實現成為可能。
如何使用Fetch
Fetch API是作為一個高階函式提供的,在其最基本的版本中,它接收一個URL併產生一個promise ,此promise可解析為響應。
fetch("http://example.com/api/endpoint") .then((response) => { // Do something with response }) .catch(function (err) { console.log("Unable to fetch -", err); }); |
你也可以通過在URL後面附加一個可選的物件來改變獲取過程的執行方式,這允許你改變諸如請求方法、請求頭資訊和其他選項。請求的響應是一個物件,它包含了我們請求的返回後設資料,它由響應資料、頭資訊、請求日期等元素組成。
Fetch 已經作為 Node v17 中的實驗性功能提供。如果您有興趣在主版本之前試用它,您需要先下載Node.js 版本並將其升級到 17.5。
相關文章
- Node.js 支援 fetch APINode.jsAPI
- 終於有了自己的IDESIDE
- Fetch API 教程API
- PHP語言終於有了正式的規範PHP
- 漫畫通訊:有了它,終於可以放心買買買了
- 終於有了讓程式設計師脫離程式碼的工具了程式設計師
- 終於有產品資料管理(PDM)最新功能了
- 15年前提交的請求,終於有了結果
- 微軟終於放棄了Electron了微軟
- 取消Fetch API請求API
- 深入淺出Fetch APIAPI
- AI 終於受涼了??AI
- 關於PHP加解密之終扯到ECDH了(API安全加強篇三)PHP解密API
- Flutter終於有視覺化編輯頁面了(Hot UI)Flutter視覺化UI
- 有了XMLHttpRequest,前後端們終於過上了幸福的生活XMLHTTP後端
- esnext:Function.prototype.toString 終於有規範了Function
- Fetch API 簡單封裝API封裝
- Node.js API參考文件(關於文件)Node.jsAPI
- 關於 Node.js Stream API 的用法概述Node.jsAPI
- GitHub 官方終於出 App 了!GithubAPP
- VS Code Day,終於來了!
- .NET Framework終於開源了!Framework
- sybase終於支援SQL UDFs了SQL
- CF終於打上1900了
- JavaScript Fetch API請求和響應JavaScriptAPI
- 太難了,我終於把JDBC的程式碼終於優化了!JDBC優化
- React Native 團隊怎麼看待 Flutter 的?終於有官方回覆了React NativeFlutter
- 終於拿Rumbaugh 的新書了新書
- 行,Python終於玩大了!Python
- Clickhouse 的 mysql CDC,終於好使了MySql
- 終於用上遠端管理卡了
- 它來了它終於來了- Beego 1.12.2Go
- Fetch 代替 Ajax 的瀏覽器 API瀏覽器API
- Fetch API HTTP請求實用指南APIHTTP
- Win10螢幕亮度切換終於正常了 這個煩人Bug終於修復了Win10
- 幹了 2 年多 Java 外包,終於脫離了!Java
- 機器學習快速落地, Amazon SageMaker終於來了!機器學習
- 終於,我也來學習VUE了Vue