网易首页 > 网易号 > 正文 申请入驻

Node.js v17.5.0 发布,核心增加 Fetch API

0
分享至

作者:五月君

Node.js v17.5.0 版本于本周四(2022-02-10)发布,其显著变化为:

  • 试验性支持 fetch() API
  • Stream 新增了 find()、toArray()、forEach()、some()、every() 方法
  • 取消标记 esm json 模块
  • NPM 更新至 8.4.1
  • node-api 添加 node_api_symbol_for() 方法
fetch API 支持

Node.js 核心引入 fetch API 是一个令人兴奋的功能,目前在v17.5.0 版本为试验性支持,在今后的 LTS 版本中如果正式支持了,就不需要在依赖第三方 HTTP 请求库了。

Fetch API 提供了 WHATWG 标准接口获取资源,这是一个基于 Promise 的 HTTP 客户端,可以用来简化 HTTP 请求,在浏览器环境已支持,浏览器环境的兼容性实现参考 Web/API/fetch,使用方式与浏览器中使用 Fetch API 一致。

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

  • fetch():该方法是最常用的,用于发送请求。
  • Headers:相当于 response/request 的头信息,可以使你查询到这些头信息,或者针对不同的结果做不同的操作。
  • Request:相当于一个资源请求。
  • Response:相当于请求的响应。

一个简单的使用方式:

  • const response = await fetch(url);
    console.log(response.ok);
    console.log(await response.json());1.2.3.4.

运行时需要加上 --experimental-fetch 标记,例如 node --experimental-fetch test.mjs。

Node.js 中的 fetch() 实现基于 undici,该项目位于 Node.js Github 项目组织下,其中的几位贡献者也是 Node.js 项目的贡献者,致力于为 Node.js 开发快速、可靠且符合规范的 HTTP 客户端,比内置的 HTTP 模块还要快,因为它摒弃了原有的 HTTP 模块,直接构建在 socket 之上,可参见笔者之前写的这篇文章request 已废弃 - 推荐一个超快的 Node.js HTTP Client undici。

Stream 模块

Node.js v17.5.0 Stream 模块增加了 find()、toArray()、forEach()、some()、every() 方法,这一块可 参考官网 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 });1.2.3.4.5.6.7.8.9.10.11.

注意:奇数版本不是长期支持版本,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/

来源: Nodejs技术栈

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
上海电气这回是有够倒霉的

上海电气这回是有够倒霉的

财报时间
2026-07-04 08:32:50
保险卖不动了,700万人集体离场。

保险卖不动了,700万人集体离场。

流苏晚晴
2026-07-04 18:54:07
40架歼-10C+4架空警-500,俄罗斯垄断被打破,北非天空要变天

40架歼-10C+4架空警-500,俄罗斯垄断被打破,北非天空要变天

止戈军是我
2026-07-03 13:03:51
“退休后每月可领50万元养老金!”交费30年后突然变卦?深圳男子状告保险公司

“退休后每月可领50万元养老金!”交费30年后突然变卦?深圳男子状告保险公司

深圳晚报
2026-07-04 09:27:05
日本队输得不冤:一场表演式勤奋毁掉的不止世界杯 还有三十年国运

日本队输得不冤:一场表演式勤奋毁掉的不止世界杯 还有三十年国运

盘和林看经济
2026-07-04 12:30:08
麦家琪与老公分居两地,坦言爱已拆散,长居内地卖云吞但不会离婚

麦家琪与老公分居两地,坦言爱已拆散,长居内地卖云吞但不会离婚

潘殤旅行浪子
2026-06-21 18:42:27
大明皇家菜单,猜你不想吃

大明皇家菜单,猜你不想吃

汉周读书
2026-06-25 11:20:06
霉霉官宣完婚,麦迪逊广场大屏打出字幕,天空出现粉色霞光和彩虹

霉霉官宣完婚,麦迪逊广场大屏打出字幕,天空出现粉色霞光和彩虹

韩小娱
2026-07-04 18:44:40
一针见血!王治郅痛批中国男篮惨败:输球不是不努力,是不会打球

一针见血!王治郅痛批中国男篮惨败:输球不是不努力,是不会打球

冷桂零落
2026-07-04 10:10:52
赛格回应1154.6万罚款原因,多位造谣者被警方处罚

赛格回应1154.6万罚款原因,多位造谣者被警方处罚

映射生活的身影
2026-07-03 15:39:35
郭昊文正式签约NBA!将亮相国王队,薪水大概能是多少?

郭昊文正式签约NBA!将亮相国王队,薪水大概能是多少?

阿腩讲娱乐
2026-07-04 07:53:24
1天4个瓜!国外生子、被抓进去、自曝怀双胎、韩红最让人意外

1天4个瓜!国外生子、被抓进去、自曝怀双胎、韩红最让人意外

三石记
2026-06-25 11:54:09
3部大片亏超5亿,顶流明星集体失业:中国电影终于现了原形

3部大片亏超5亿,顶流明星集体失业:中国电影终于现了原形

陈意小可爱
2026-07-04 11:36:54
日媒:日印再次确认高铁合作计划

日媒:日印再次确认高铁合作计划

参考消息
2026-07-03 19:11:21
上海儿童医学中心真实案例:肠菌移植后,4岁男孩自闭症症状改善

上海儿童医学中心真实案例:肠菌移植后,4岁男孩自闭症症状改善

肠菌科普
2026-07-03 18:10:04
梅西头撞对手膝盖额头肿起大包,带伤鏖战加时!球迷:这是神的角

梅西头撞对手膝盖额头肿起大包,带伤鏖战加时!球迷:这是神的角

听我说球
2026-07-04 09:52:51
终止重大投资项目!千亿龙头,002709宣布

终止重大投资项目!千亿龙头,002709宣布

中国基金报
2026-07-04 15:15:42
终止重大项目!A股龙头,突发公告

终止重大项目!A股龙头,突发公告

数据宝
2026-07-04 17:59:28
人过80岁,哪怕身体再健康,也要记住这四句话,晚年远离病痛

人过80岁,哪怕身体再健康,也要记住这四句话,晚年远离病痛

观星赏月
2026-07-03 12:03:48
日本赞助商集体退出世界杯,中国制造崛起藏着这些真相

日本赞助商集体退出世界杯,中国制造崛起藏着这些真相

冰语历史
2026-07-04 15:58:56
2026-07-04 19:40:49
Nodejs开发
Nodejs开发
分享只有程序员懂的干货
648文章数 823关注度
往期回顾 全部

科技要闻

韬定律论文V2版,充工程细节和实测数据

头条要闻

特朗普:美国很善良 给伊朗一周的时间办丧事

头条要闻

特朗普:美国很善良 给伊朗一周的时间办丧事

体育要闻

揭法国锋线最大优势 有人比姆巴佩还快?

娱乐要闻

白鹿打戏抠图惹非议 连累丞磊遭扒皮

财经要闻

韩国股市杠杆失控:450亿美元资金狂飙

汽车要闻

方程豹钛9内饰曝光 用上了长联屏设计/下半年上市

态度原创

教育
亲子
时尚
游戏
艺术

教育要闻

南阳2026年中考成绩将于7月5日公布!

亲子要闻

特朗普念儿童绘本,一开口就“跑偏”了

万万没想到,30多年后最让我佩服的还是她!

索尼PS官号已“装死”48小时 这次是真的怕了?

艺术要闻

风格独特,美国具象画家Alan Feltus

无障碍浏览 进入关怀版