IT资讯 Node.js v20.4.0 发布

mack · 2023-07-08 07:30:07 · 热度: 32

Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由 Node.js Foundation(已与 JS Foundation 合并为 OpenJS Foundation)持有和维护,亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。

Node.js v20.4.0 现已发布,本次更新内容如下:

Mock Timers

新功能允许开发人员为时间相关的功能编写更可靠和可预测的测试。它包括MockTimers,能够模拟setTimeout,来自globalsnode:timersnode:timers/promisessetInterval

该功能提供了一个简单的 API 来推进时时间、启用特定计时器以及释放所有计时器。

import assert from 'node:assert';
import { test } from 'node:test';

test('mocks setTimeout to be executed synchronously without having to actually wait for it', (context) => {
  const fn = context.mock.fn();
  // Optionally choose what to mock
  context.mock.timers.enable(['setTimeout']);
  const nineSecs = 9000;
  setTimeout(fn, nineSecs);

  const threeSeconds = 3000;
  context.mock.timers.tick(threeSeconds);
  context.mock.timers.tick(threeSeconds);
  context.mock.timers.tick(threeSeconds);

  assert.strictEqual(fn.mock.callCount(), 1);
});

#47775

支持显式资源管理提案

Node 正在为其资源添加对显式资源管理提案的支持。#48518

其他显着变化

  • [fe333d2584] - crypto:将根证书更新到 NSS 3.90 (Node.js GitHub Bot) #48416
  • [60c2ea4e79] - doc : 将 vmoroz 添加到协作者 (Vladimir Morozov) #48527
  • [5cacdf9e6b] - doc : 将 kvakil 添加到协作者 (Keyhan Vakil) #48449
  • [504d1d7bdc] - (SEMVER-MINOR) tls : 为动态 ALPN 协商添加 ALPNCallback 服务器选项 (Tim Perry) #45190

更多详情可查看:https://nodejs.org/en/blog/release/v20.4.0

为您推荐与 nodejs 相关的帖子:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册