自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Node.js 已合并 Fetch API

開發(fā) 前端
總的來說,F(xiàn)etch API 進(jìn)入 Node.js 核心對開發(fā)者來說是一件好事。不過 Fetch API 在 Node.js 中完全穩(wěn)定可能需要一段時間(大約一兩年),因為要使其符合標(biāo)準(zhǔn)還有很多工作要做。

根據(jù) Node.js 的發(fā)布記錄,上個月其核心開發(fā)團(tuán)隊合并了為 Node.js 添加 Fetch API 的 PR。

Fetch API 提供了 WHATWG 標(biāo)準(zhǔn)接口獲取資源,這是一個基于 Promise 的 HTTP 客戶端,可以用來簡化 HTTP 請求,在瀏覽器環(huán)境已支持,瀏覽器環(huán)境的兼容性實現(xiàn)參考 Web/API/fetch,使用方式與瀏覽器中使用 Fetch API 一致。

Fetch API 主要包含以下四個接口:

  • fetch():該方法是最常用的,用于發(fā)送請求。
  • Headers:相當(dāng)于 response/request 的頭信息,可以使你查詢到這些頭信息,或者針對不同的結(jié)果做不同的操作。
  • Request:相當(dāng)于一個資源請求。
  • Response:相當(dāng)于請求的響應(yīng)。

對于 Node.js 來說,這是一項十分重要的特性。下面介紹一下 Fetch API 是如何產(chǎn)生的,以及這項新增的功能對 Node.js 開發(fā)者意味著什么?

在 Web 誕生的早期階段,跨站點(diǎn)執(zhí)行異步請求十分不方便,開發(fā)者需要使用笨拙的方法在多個網(wǎng)絡(luò)之間進(jìn)行交互。

1998 年,隨著 Internet Explorer 5 引入XMLHttpRequest,這一狀況得以改變。它是一個旨在克服這種限制的 API。最初,XMLHttpRequest被設(shè)計用來通過 HTTP 獲取 XML 數(shù)據(jù),因此被命名為XMLHttpRequest。此后逐漸添加了對其他數(shù)據(jù)格式的支持,主要是 JSON、HTML 和純文本。

XMLHttpRequestAPI 在當(dāng)時提供了極大的幫助,但隨著網(wǎng)絡(luò)的發(fā)展,它也變得難以操作,以至于 JavaScript 框架,特別是 jQuery,不得不對其進(jìn)行抽象,以使實現(xiàn)更容易,以及成功/錯誤處理更順暢。

2015 年,F(xiàn)etch API 作為XMLHttpRequest的現(xiàn)代繼任者被推出,隨后它成為 Web 應(yīng)用中進(jìn)行異步調(diào)用的事實標(biāo)準(zhǔn)。與XMLHttpRequest相比,F(xiàn)etch 的一個顯著優(yōu)勢是它使用了 Promise 特性,提供了一個更簡單、更干凈的 API,同時避免了回調(diào)地獄。

盡管 Fetch API 已經(jīng)誕生了一段時間,但由于一些限制,它還沒有被納入 Node.js 核心。在 Hacker News 上一個由 Node.js 核心貢獻(xiàn)者回答的問題中,有人指出,瀏覽器的 Fetch API 實現(xiàn)依賴于基于瀏覽器的 Web Streams API 和AbortController接口(用于中止獲取請求),直到最近 Node.js 才有這個接口。因此,很難決定將其納入 Node.js 核心的最佳方法。

在添加 Fetch API 之前,請求模塊 (request module) 是 Node.js 中最流行的 HTTP 請求方法。但整個 JavaScript 生態(tài)迅速發(fā)展,新引入的模式使 request 過時了。這里的一個關(guān)鍵例子是 async/await,request API 中沒有這方面的規(guī)定,由于這些限制,該項目后來被廢棄。

總的來說,F(xiàn)etch API 進(jìn)入 Node.js 核心對開發(fā)者來說是一件好事。不過 Fetch API 在 Node.js 中完全穩(wěn)定可能需要一段時間(大約一兩年),因為要使其符合標(biāo)準(zhǔn)還有很多工作要做。此外,許多有趣的更新也將在不久的將來發(fā)生,其中之一包括向 Undici 添加 HTTP/2 支持,并最終支持 Fetch API 本身。

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:Node.js 已合并 Fetch API

本文地址:https://www.oschina.net/news/185476/fetch-api-node-js

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2022-02-12 20:33:29

Node.jsStreamfetch API

2023-01-10 14:11:26

2022-09-04 15:54:10

Node.jsAPI技巧

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2024-09-25 08:04:58

2019-02-15 10:49:37

Node.jsweb服務(wù)器

2020-09-28 06:57:39

Node.jsGraphQLAPI

2023-04-18 15:18:10

2011-09-09 14:23:13

Node.js

2011-11-01 10:30:36

Node.js

2011-09-08 13:46:14

node.js

2011-09-02 14:47:48

Node

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2021-12-25 22:29:57

Node.js 微任務(wù)處理事件循環(huán)

2021-08-20 09:00:00

Node.js開發(fā)API

2020-05-29 15:33:28

Node.js框架JavaScript

2012-02-03 09:25:39

Node.js

2015-06-23 15:27:53

HproseNode.js
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號