Node.js 支持 fetch API

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

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

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

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()。

如下是用到Node.js的开发项目,有兴趣的可以下载操作。

WORKREPORTER工作记录员,行业软件|企业应用|毕业设计,Asp.net源码|- 51Aspx.com本项目是asp.netcore开发的《工作记录员》,采用MVC框架,SQLite数据库,主流的前端技术JQuery,VUE,BootStrap;后端采用最新asp.net6.0,ORM采用Dapper,Nlog,该软件用于解决企业轻度工作记录,帮助企业用户实时查看保存文件;此源码适合用于学习asp.netcore框架,掌握asp.net6.0,Dapper,Nlog。非常适合毕业设计或课程设计使用,具有非常高的学习价值,欢迎下载。一、源码特点WorkReporter项目采用的最新的.Net6.0,标准的asp.netcore项目,数据库是SQLite,运用了当前主流的前后端技术,Dapper,Nlog,VUE,BootStrap;项目适合企业轻量级工作记录,帮助小企业快速查看和记录每日工作报告和工作事项。该项目适合毕业生和初学者研究学习。视频(查看视频处)录制了详细的项目开发逻辑和软件的演示,欢迎下载学习。二、软件功能1、用户名2、登录密码3、我的工作记录:日期、工作记录、备注、编辑工作记录4、部门部门工作查询:名字、管理员、日期5、部门管理:编号、部门名称、上级部门名称(可添加删除)https://www.51aspx.com/Code/WorkReporter/69610

本文转自:SegmentFault,https://segmentfault.com/a/1190000041512148

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值