Node.js 最新版为什么要内置 fetch(),不用行吗?

AI 概述
什么是 fetch()?为什么要使用?如何启用? Node.js 在最新版本中引入了 fetch(), fetch() 是一种流行的跨平台 HTTP 客户端 API,可在浏览器和 Web/Service Workers 中运行,目前在 v17.5.0 版本为试验性支持,也就是说,在今后的 LTS 版本中如果正式支持了,今后将不再需要额外的 HTTP 请求模块。 什么...
目录
文章目录隐藏
  1. 什么是 fetch()?
  2. 为什么要使用?
  3. 如何启用?

Node.js 在最新版本中引入了 fetch(), fetch() 是一种流行的跨平台 HTTP 客户端 API,可在浏览器和 Web/Service Workers 中运行,目前在 v17.5.0 版本为试验性支持,也就是说,在今后的 LTS 版本中如果正式支持了,今后将不再需要额外的 HTTP 请求模块。

什么是 fetch()?

fetch() API 提供了一个 WHATWG 标准化接口来获取资源,它是一个基于 Promise 的 HTTP 客户端,支持许多高级 HTTP 功能,同时还专注于最常见的场景:发送简化的 HTTP 请求。

Fetch API 的核心包含四个接口:

  • fetch()– 用于发起请求的入口点
  • Headers 类- 处理 HTTP 请求/响应标头
  • Request 类 – 表示请求
  • Response 类 – 表示响应

把这些放在一起,这是一个简单的例子:

const res = await fetch('https://example/api/list');
const json = await res.json();
console.log(json);

标准化的好处在于,其使用方式与浏览器中使用 Fetch API 一致。

为什么要使用?

在 Node.js 中使用 fetch() 的主要原因有两个:

  • Node.js 社区中有一场激烈的讨论,讨论如何以客户端开发者熟悉的方式发展 Node 的 HTTP 堆栈,同时又能与服务器编程模型配合,如何超越目前作为核心部分的 HTTP 模型的限制,以及如何支持 HTTP/2-3 而不过度加重用户的负担,而 fetch() 正是这一对话的第一步
  • fetch() 实现基于 Undici,这是一个新的快速、可靠且符合规范的 HTTP/1.1 客户端,由于 Undici 摒弃了一些过时的 HTTP 原语并直接构建在 sockets 之上,因此与现有实现相比,fetch() 可以显著减少延迟和增加吞吐量

如何启用?

目前 Node.js 17.5 中的 fetch() 是一项实验性的功能,运行脚本时需要需要添加 --experimental-fetch,即可在脚本内使用 fetch()

以上关于Node.js 最新版为什么要内置 fetch(),不用行吗?的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Node.js 最新版为什么要内置 fetch(),不用行吗?

发表回复