成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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 請(qǐng)求庫(kù)了。

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

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

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

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

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ù)版本不是長(zhǎng)期支持版本,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é)任編輯:武曉燕 來(lái)源: 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

2012-07-12 10:15:15

Node.js

2022-09-04 15:54:10

Node.jsAPI技巧

2011-12-05 09:39:57

Node.js

2022-08-29 18:15:25

Node.js多線程模型

2021-10-26 06:43:36

NodeJavaScript引擎

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

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

2011-05-24 15:09:11

NodeJS

2024-09-25 08:04:58

2023-04-19 08:31:57

Node.jsLTS版本

2022-03-02 09:01:30

Node.js v1HTTPNode.j

2023-11-16 14:56:13

點(diǎn)贊
收藏

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

主站蜘蛛池模板: 综合久久综合久久 | 久久影音先锋 | 久久精品视频亚洲 | 国产精品一二区 | 国产乱码久久久久久 | 亚洲精品乱码8久久久久久日本 | 久久久久久久久久久一区二区 | 国产中的精品av涩差av | 欧美日韩在线视频一区 | 色精品| 91社影院在线观看 | 性视频网 | 免费av毛片 | 国产一区二区三区在线 | 亚洲在线一区二区 | 精品一级 | 91在线视频观看 | 国产一区二区三区四区在线观看 | 日本精品久久久久久久 | 成人三级网址 | 99热热99 | 麻豆久久久9性大片 | 欧美日韩精品影院 | 久久免费精品 | 日日夜夜天天 | 成人福利电影 | 久久精品亚洲 | 日韩免费视频一区二区 | 一区二区三区影院 | 黑人巨大精品欧美一区二区免费 | 精品成人在线视频 | 麻豆久久久 | 欧美日韩亚洲国产 | 亚洲欧美激情精品一区二区 | 毛片在线免费播放 | 午夜精品三区 | 成人午夜免费网站 | 视频一区二区三区中文字幕 | 欧美精品一区二区三区四区 在线 | 一级欧美| 91黄在线观看 |