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

Node.js 已合并 Fetch API

0
分享至

文 | 局长

出品 | OSC开源社区(ID:oschina2013)

‍ 根据 Node.js 的发布记录,上个月其核心开发团队合并了 为 Node.js 添加 Fetch API 的 PR (https://github.com/nodejs/node/pull/41749)。

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

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

  • fetch():该方法是最常用的,用于发送请求。

  • Headers:相当于 response/request 的头信息,可以使你查询到这些头信息,或者针对不同的结果做不同的操作。

  • Request:相当于一个资源请求。

  • Response:相当于请求的响应。

对于 Node.js 来说,这是一项十分重要的特性。下面介绍一下 Fetch API 是如何产生的,以及这项新增的功能对 Node.js 开发者意味着什么?

在 Web 诞生的早期阶段,跨站点执行异步请求十分不方便,开发者需要使用笨拙的方法在多个网络之间进行交互。

1998 年,随着 Internet Explorer 5 引入XMLHttpRequest,这一状况得以改变。它是一个旨在克服这种限制的 API。最初,XMLHttpRequest被设计用来通过 HTTP 获取 XML 数据,因此被命名为XMLHttpRequest。此后逐渐添加了对其他数据格式的支持,主要是 JSON、HTML 和纯文本。

XMLHttpRequestAPI 在当时提供了极大的帮助,但随着网络的发展,它也变得难以操作,以至于 JavaScript 框架,特别是 jQuery,不得不对其进行抽象,以使实现更容易,以及成功/错误处理更顺畅。

2015 年,Fetch API 作为XMLHttpRequest的现代继任者被推出,随后它成为 Web 应用中进行异步调用的事实标准。与XMLHttpRequest相比,Fetch 的一个显著优势是它使用了 Promise 特性,提供了一个更简单、更干净的 API,同时避免了回调地狱。

尽管 Fetch API 已经诞生了一段时间,但由于一些限制,它还没有被纳入 Node.js 核心。在 Hacker News 上一个由 Node.js 核心贡献者回答的 问题 中,有人指出,浏览器的 Fetch API 实现依赖于基于浏览器的 Web Streams API 和AbortController接口(用于中止获取请求),直到最近 Node.js 才有这个接口。因此,很难决定将其纳入 Node.js 核心的最佳方法。

在添加 Fetch API 之前,请求模块 (request module) 是 Node.js 中最流行的 HTTP 请求方法。但整个 JavaScript 生态迅速发展,新引入的模式使 request 过时了。这里的一个关键例子是 async/await,request API 中没有这方面的规定,由于这些限制,该项目后来被废弃。

总的来说,Fetch API 进入 Node.js 核心对开发者来说是一件好事。不过 Fetch API 在 Node.js 中完全稳定可能需要一段时间(大约一两年),因为要使其符合标准还有很多工作要做。此外,许多有趣的更新也将在不久的将来发生,其中之一包括向 Undici 添加 HTTP/2 支持,并最终支持 Fetch API 本身。

END

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

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-05-04 17:24:14
四年暴跌120亿,微信是怎么“杀死”口香糖行业的?

四年暴跌120亿,微信是怎么“杀死”口香糖行业的?

流苏晚晴
2026-04-19 20:34:47
反复试探!张敬轩英皇演唱会上无异常,结束后却宣布突发重病退演

反复试探!张敬轩英皇演唱会上无异常,结束后却宣布突发重病退演

娱说瑜悦
2026-05-04 23:58:19
小米汽车将推出全新品牌,首款车曝光!

小米汽车将推出全新品牌,首款车曝光!

新浪财经
2026-05-02 01:28:09
突发!又打起来了

突发!又打起来了

财通社
2026-05-04 19:08:22
十二年青春喂了空!CoCo终于坦白,揭露谢贤最真实的一面

十二年青春喂了空!CoCo终于坦白,揭露谢贤最真实的一面

一盅情怀
2026-05-04 16:37:51
REDMI 17 系列曝光!小米重回千元以下下沉市场

REDMI 17 系列曝光!小米重回千元以下下沉市场

小柱解说游戏
2026-05-04 23:51:39
苹果即将发布iOS 27,今年突然变保守了!

苹果即将发布iOS 27,今年突然变保守了!

搞机小帝
2026-05-05 00:05:10
53岁大姐狂瘦42斤扯下减肥遮羞布:别交智商税了,就俩字管用!

53岁大姐狂瘦42斤扯下减肥遮羞布:别交智商税了,就俩字管用!

健身狂人
2026-05-04 22:36:17
斯诺克世锦赛决赛第二阶段:吴宜泽10-7墨菲

斯诺克世锦赛决赛第二阶段:吴宜泽10-7墨菲

懂球帝
2026-05-04 04:59:44
北大学神吴谢宇弑母真相:与他的口述不符,与舅舅透露的细节有关

北大学神吴谢宇弑母真相:与他的口述不符,与舅舅透露的细节有关

微野谈写作
2026-05-02 15:50:08
国防部已经发出最后警告:关于如何处置赖清德,大陆早就想好了!

国防部已经发出最后警告:关于如何处置赖清德,大陆早就想好了!

全球热点幕后
2026-04-30 11:50:08
林诗栋表现崩盘,王皓放弃指导,周启豪紧急救场

林诗栋表现崩盘,王皓放弃指导,周启豪紧急救场

老皢尾声体育解说
2026-05-04 23:45:52
偶遇李小冉现身江苏,穿裹胸裙前凸后翘,肤白发量多原生脸太惊艳

偶遇李小冉现身江苏,穿裹胸裙前凸后翘,肤白发量多原生脸太惊艳

林轻吟
2026-05-04 17:09:24
《风筝》暗线:韩冰至死都不知道,最早看穿她身份的并非郑耀先

《风筝》暗线:韩冰至死都不知道,最早看穿她身份的并非郑耀先

卡西莫多的故事
2026-03-20 09:31:02
1995年,我见过一个看《红楼梦》发疯的男人,到死都没得到真解脱

1995年,我见过一个看《红楼梦》发疯的男人,到死都没得到真解脱

人间百态大全
2026-05-04 06:35:03
五一降价潮下的车市哀歌:豪车裸价卖,谁在为燃油车唱挽歌?

五一降价潮下的车市哀歌:豪车裸价卖,谁在为燃油车唱挽歌?

娱乐圈的笔娱君
2026-05-04 14:33:07
2026斯诺克世锦赛决赛第三阶段:吴宜泽三连鞭,13-12反超比分

2026斯诺克世锦赛决赛第三阶段:吴宜泽三连鞭,13-12反超比分

梅亭谈
2026-05-04 23:54:07
揪心!国乒男团小组赛两连败,签位又遇两大强敌,球迷炮轰封训

揪心!国乒男团小组赛两连败,签位又遇两大强敌,球迷炮轰封训

谭颞爱搞笑
2026-05-04 23:07:23
伊朗这仗打完,全世界才猛然发现,超级大国只剩一个了

伊朗这仗打完,全世界才猛然发现,超级大国只剩一个了

小蒋爱唠嗑
2026-05-04 23:01:02
2026-05-05 00:44:51
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7712文章数 34538关注度
往期回顾 全部

科技要闻

在中国市场搞「付费订阅」,豆包咋想的?

头条要闻

媒体:霍尔木兹海峡一声惊雷炸响 战争的引信已经点燃

头条要闻

媒体:霍尔木兹海峡一声惊雷炸响 战争的引信已经点燃

体育要闻

骑士破猛龙:加雷特·阿伦的活力

娱乐要闻

张敬轩还是站上了英皇25周年舞台

财经要闻

魔幻的韩国股市,父母给婴儿开户买股票

汽车要闻

同比大涨190% 方程豹4月销量29138台

态度原创

亲子
教育
游戏
公开课
军事航空

亲子要闻

高锌食物是个宝,孩子吃了记性好,胃口棒少生病

教育要闻

不写论文也能获博士学位?成都多所高校已出现“实践博士”

PS6新爆料太狠了:SSD性能翻倍 还能玩PS5游戏

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

特朗普回绝伊朗新方案

无障碍浏览 进入关怀版