所在的位置: js >> js发展 >> Nodejsv1750发布,核心增

Nodejsv1750发布,核心增

作者:五月君

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

试验性支持fetch()API

Stream新增了find()、toArray()、forEach()、some()、every()方法

取消标记esmjson模块

NPM更新至8.4.1

node-api添加node_api_symbol_for()方法

fetchAPI支持

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

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

FetchAPI主要包含以下四个接口:

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

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

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

Response:相当于请求的响应。

一个简单的使用方式:

constresponse=awaitfetch(url);console.log(response.ok);console.log(awaitresponse.json());1.2.3.4.

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

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

Stream模块

Node.jsv17.5.0Stream模块增加了find()、toArray()、forEach()、some()、every()方法,这一块可参考


转载请注明:http://www.aierlanlan.com/tzrz/1363.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了