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

Node.js v17.5.0 發(fā)布,核心增加 Fetch API

開發(fā) 前端
Node.js 核心引入 fetch API 是一個(gè)令人興奮的功能,目前在 v17.5.0 版本為試驗(yàn)性支持,在今后的 LTS 版本中如果正式支持了,就不需要在依賴第三方 HTTP 請求庫了。

Node.js v17.5.0 版本于本周四(2022-02-10)發(fā)布,其顯著變化為:

  • 試驗(yàn)性支持 fetch() API
  • Stream 新增了 find()、toArray()、forEach()、some()、every() 方法
  • 取消標(biāo)記 esm json 模塊
  • NPM 更新至 8.4.1
  • node-api 添加 node_api_symbol_for() 方法

fetch API 支持

Node.js 核心引入 fetch API 是一個(gè)令人興奮的功能,目前在 v17.5.0 版本為試驗(yàn)性支持,在今后的 LTS 版本中如果正式支持了,就不需要在依賴第三方 HTTP 請求庫了。

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

Fetch API 主要包含以下四個(gè)接口:

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

一個(gè)簡單的使用方式:

const response = await fetch(url);

console.log(response.ok);
console.log(await response.json());

運(yùn)行時(shí)需要加上 --experimental-fetch 標(biāo)記,例如 node --experimental-fetch test.mjs。

Node.js 中的 fetch() 實(shí)現(xiàn)基于 undici,該項(xiàng)目位于 Node.js Github 項(xiàng)目組織下,其中的幾位貢獻(xiàn)者也是 Node.js 項(xiàng)目的貢獻(xiàn)者,致力于為 Node.js 開發(fā)快速、可靠且符合規(guī)范的 HTTP 客戶端,比內(nèi)置的 HTTP 模塊還要快,因?yàn)樗饤壛嗽械?HTTP 模塊,直接構(gòu)建在 socket 之上,可參見筆者之前寫的這篇文章request 已廢棄 - 推薦一個(gè)超快的 Node.js HTTP Client undici。

Stream 模塊

Node.js v17.5.0 Stream 模塊增加了 find()、toArray()、forEach()、some()、every() 方法,這一塊可 參考官網(wǎng) API#stream 介紹。

下面以 some() 方法為例,如果有任何大文件就返回 true。

import { Readable } from 'stream';
import { stat } from 'fs/promises';

const anyBigFile = await Readable.from([
'file1',
'file2',
'file3',
]).some(async (fileName) => {
const stats = await stat(fileName);
return stats.size > 1024 * 1024;
}, { concurrency: 2 });

注意:奇數(shù)版本不是長期支持版本,Node.js 版本信息參考 Node.js 版本知多少?又該如何選擇?。

Reference

https://fusebit.io/blog/node-fetch/

https://mp.weixin.qq.com/s/JXrInHyOk0HAAtA9-CbESw

https://nodejs.org/en/blog/release/v17.5.0/


責(zé)任編輯:武曉燕 來源: Nodejs技術(shù)棧
相關(guān)推薦

2022-03-08 15:13:34

Fetch APINode.js開發(fā)者

2024-07-08 08:53:52

2015-06-23 15:27:53

HproseNode.js

2021-05-24 11:25:13

Node.js 16V8前端

2017-06-02 10:00:26

前端Node.js

2021-12-25 22:29:57

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

2023-01-10 14:11:26

2011-11-08 10:53:02

Node.js

2022-09-04 15:54:10

Node.jsAPI技巧

2022-08-29 18:15:25

Node.js多線程模型

2011-12-05 09:39:57

Node.js

2012-07-12 10:15:15

Node.js

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

2021-10-26 06:43:36

NodeJavaScript引擎

2023-04-19 08:31:57

Node.jsLTS版本

2011-05-24 15:09:11

NodeJS

2022-03-02 09:01:30

Node.js v1HTTPNode.j

2019-02-15 10:49:37

Node.jsweb服務(wù)器
點(diǎn)贊
收藏

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