Node.js 支持 fetch API

简介: Node.js 支持 fetch API

最新的 Node.js v17.5 引入了对 fetch API 的支持 ,对前端同学来说,非常熟悉。

fetch() 是一种流行的跨平台 HTTP 客户端 API,可在浏览器和 Web/Service Workers 中运行。

虽然目前在 v17.5.0 版本为试验性支持,但是如果在今后的 LTS 版本中正式支持了,就不需要依赖第三方 HTTP 请求模块。

image.png

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

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

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

为什么要使用?

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

  • Node.js 社区中有一场激烈的讨论,讨论如何以客户端开发者熟悉的方式发展 Node 的 HTTP 堆栈,同时又能与服务器编程模型配合,如何超越目前作为核心部分的 HTTP 模型的限制,以及如何支持 HTTP/2-3 而不过度加重用户的负担,而 fetch() 正是这一对话的第一步。
  • fetch() 实现基于 Undici,该项目位于 Node.js Github 项目组织下,其中的几位贡献者也是 Node.js 项目的贡献者,致力于为 Node.js 开发快速、可靠且符合规范的 HTTP 客户端,比内置的 HTTP 模块还要快,因为它摒弃了原有的 HTTP 模块,直接构建在 socket 之上。

如何使用?

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

fetch

相关文章
|
前端开发 API UED
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
312 2
|
JSON 前端开发 JavaScript
Proxy + Fetch 实现类似于 axios 的基础 API
本项目通过 Proxy 和 Fetch 技术实现了一个类似 axios 的基础 API,支持请求拦截、响应处理等功能,简化了前端网络请求的开发流程,提升了代码的可维护性和扩展性。
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
296 1
|
前端开发 API 开发者
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
140 4
|
前端开发 JavaScript API
惊呆了!学会AJAX与Fetch API,你的Python Web项目瞬间高大上!
在Web开发领域,AJAX与Fetch API是提升交互体验的关键技术。AJAX(Asynchronous JavaScript and XML)作为异步通信的先驱,通过XMLHttpRequest对象实现了局部页面更新,提升了应用流畅度。Fetch API则以更现代、简洁的方式处理HTTP请求,基于Promises提供了丰富的功能。当与Python Web框架(如Django、Flask)结合时,这两者能显著增强应用的响应速度和用户体验,使项目更加高效、高大上。
188 2
|
前端开发 API 开发者
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
170 3
|
JSON 资源调度 JavaScript
Vue框架中Ajax请求的实现方式:使用axios库或fetch API
选择 `axios`还是 `fetch`取决于项目需求和个人偏好。`axios`提供了更丰富的API和更灵活的错误处理方式,适用于需要复杂请求配置的场景。而 `fetch`作为现代浏览器的原生API,使用起来更为简洁,但在旧浏览器兼容性和某些高级特性上可能略显不足。无论选择哪种方式,它们都能有效地在Vue应用中实现Ajax请求的功能。
347 4
|
前端开发 API 数据格式
颠覆传统!AJAX、Fetch API与Python后端,开启Web开发新篇章!
在Web开发领域,技术的快速迭代推动着应用不断进化。传统前后端交互方式已无法满足现代Web应用对高效、实时性和用户体验的需求。AJAX作为异步通信的先驱,使页面无需刷新即可更新部分内容,显著提升用户体验;尽管XML曾是其主要数据格式,但如今JSON已成为主流。Fetch API则以其简洁、灵活的特点成为AJAX的现代替代品,基于Promises的异步请求让开发更加高效。与此同时,Python后端凭借高效稳定和丰富的库支持,成为众多开发者的首选,无论是轻量级的Flask还是全功能的Django,都能为Web应用提供强大的支撑。
180 0
|
XML 前端开发 API
惊艳全场的秘诀!AJAX、Fetch API与Python后端,打造令人惊叹的Web应用!
惊艳全场的秘诀!AJAX、Fetch API与Python后端,打造令人惊叹的Web应用!
198 0
|
前端开发 JavaScript API
告别繁琐!AJAX与Fetch API,让你的前后端沟通畅通无阻,项目效率飙升!
在Web开发中,前后端的顺畅沟通至关重要。传统方法常需频繁刷新页面,影响体验与效率。AJAX和Fetch API的出现简化了这一过程。AJAX利用XMLHttpRequest实现局部页面更新,提升用户体验;Fetch API则以更简洁的语法和强大的功能,进一步优化异步请求处理。两者均能显著提高开发效率,简化代码结构,让项目迭代更快速。拥抱这些技术,让Web开发之路更加顺畅。
178 0