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
- Fetch API 教程API
- 取消Fetch API請求API
- 漫畫通訊:有了它,終於可以放心買買買了
- “我們終於被‘定義’了。不僅有了新市民身份
- C# + html + fetch + API + javascriptC#HTMLAPIJavaScript
- Fetch API 簡單封裝API封裝
- 終於有了讓程式設計師脫離程式碼的工具了程式設計師
- 關於 Node.js Stream API 的用法概述Node.jsAPI
- Node.js API參考文件(關於文件)Node.jsAPI
- 終於有產品資料管理(PDM)最新功能了
- 關於LLM-as-a-judge正規化,終於有綜述講明白了
- JavaScript Fetch API請求和響應JavaScriptAPI
- CF終於打上1900了
- AI 終於受涼了??AI
- 關於PHP加解密之終扯到ECDH了(API安全加強篇三)PHP解密API
- 微軟終於放棄了Electron了微軟
- Flutter終於有視覺化編輯頁面了(Hot UI)Flutter視覺化UI
- 15年前提交的請求,終於有了結果
- 有了XMLHttpRequest,前後端們終於過上了幸福的生活XMLHTTP後端
- Fetch 代替 Ajax 的瀏覽器 API瀏覽器API
- Fetch API HTTP請求實用指南APIHTTP
- VS Code Day,終於來了!
- 幽默:終於黑掉ChatGPT了ChatGPT
- GPT-4,終於來了!GPT
- 攜程,終於反彈了?
- 裝修終於結束了
- 終於,月薪過5萬了!
- GitHub 官方終於出 App 了!GithubAPP
- 行,Python終於玩大了!Python
- React Native 團隊怎麼看待 Flutter 的?終於有官方回覆了React NativeFlutter
- 它來了它終於來了- Beego 1.12.2Go
- 太難了,我終於把JDBC的程式碼終於優化了!JDBC優化
- Ajax 之戰:XMLHttpRequest與Fetch API比較XMLHTTPAPI
- Clickhouse 的 mysql CDC,終於好使了MySql
- 原生 CSS Custom Highlight 終於來了~CSS
- 終於等到了這篇文章了
- 終於下定決心離職了