Node.js v18.18.2 文档


目录

全局对象#

这些对象在所有模块中都可用。以下变量可能看起来是全局变量,但实际上并非如此。它们仅存在于模块范围内,请参阅 模块系统文档

此处列出的对象特定于 Node.js。有些内置对象 是 JavaScript 语言本身的一部分,并且可以全局访问。

类:AbortController#

用于在选定的基于Promise的 API中发出取消信号的实用程序类。该 API 基于 Web API AbortController

const ac = new AbortController();

ac.signal.addEventListener('abort', () => console.log('Aborted!'),
                           { once: true });

ac.abort();

console.log(ac.signal.aborted);  // Prints true 

abortController.abort([reason])#

  • reason <any>可选原因,可在AbortSignalreason属性上检索。

触发中止信号,导致abortController.signal发出'abort'事件。

abortController.signal#

类:AbortSignal#

AbortSignal用于在 调用abortController.abort()方法时通知观察者。

静态方法:AbortSignal.abort([reason])#

返回一个新的已中止的AbortSignal

静态方法:AbortSignal.timeout(delay)#
  • delay <number>触发 AbortSignal 之前等待的毫秒数。

返回一个新的AbortSignal,它将在delay毫秒内中止。

静态方法:AbortSignal.any(signals)#
  • signals < AbortSignal []>用于组成新的AbortSignalAbortSignal

返回一个新的AbortSignal,如果任何提供的信号被中止,该新的 AbortSignal 将被中止。其abortSignal.reason将设置为导致其中止的signals之一。

事件:'abort'#

当调用abortController.abort()方法时,会发出 'abort'事件。使用单个对象参数调用回调,并将单个type属性设置为'abort'

const ac = new AbortController();

// Use either the onabort property...
ac.signal.onabort = () => console.log('aborted!');

// Or the EventTarget API...
ac.signal.addEventListener('abort', (event) => {
  console.log(event.type);  // Prints 'abort'
}, { once: true });

ac.abort(); 

AbortSignal关联的AbortController只会触发'abort'事件一次。我们建议在添加'abort'事件侦听器之前,代码检查abortSignal.aborted属性是否为false

附加到AbortSignal 的任何事件监听器都应使用 { once: true }选项(或者,如果使用EventEmitter API 附加监听器,请使用once()方法),以确保在处理'abort'事件后立即删除事件侦听器。如果不这样做可能会导致内存泄漏。

abortSignal.aborted#
  • 类型:<boolean> AbortController中止后为 True 。
abortSignal.onabort#

可选的回调函数,可以由用户代码设置,以便在调用abortController.abort()函数时收到通知。

abortSignal.reason#

触发AbortSignal时指定的可选原因。

const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason);  // Error: boom! 
abortSignal.throwIfAborted()#

如果abortSignal.abortedtrue,则抛出abortSignal.reason

类:Blob#

请参阅<Blob>

类:Buffer#

用于处理二进制数据。参见缓冲区部分

类:ByteLengthQueuingStrategy#

稳定性:1 - 实验性。

ByteLengthQueuingStrategy的浏览器兼容实现。

__dirname#

该变量可能看起来是全局变量,但事实并非如此。请参阅__dirname

__filename#

该变量可能看起来是全局变量,但事实并非如此。请参阅__filename

atob(data)#

稳定性:3 - 传统。请改用Buffer.from(data, 'base64')

buffer.atob()的全局别名。

BroadcastChannel#

请参阅<BroadcastChannel>

btoa(data)#

稳定性:3 - 传统。请改用buf.toString('base64')

buffer.btoa()的全局别名。

clearImmediate(immediateObject)#

clearImmediate计时器部分进行了描述。

clearInterval(intervalObject)#

clearInterval计时器部分进行了描述。

clearTimeout(timeoutObject)#

clearTimeout计时器部分进行了描述。

类:CompressionStream#

稳定性:1 - 实验性。

CompressionStream的浏览器兼容实现。

console#

用于打印到 stdout 和 stderr。请参阅console部分。

类:CountQueuingStrategy#

稳定性:1 - 实验性。

CountQueuingStrategy的浏览器兼容实现。

Crypto#

稳定性:1 - 实验性。使用 --experimental-global-webcrypto CLI 标志启用此 API。

<Crypto>的浏览器兼容实现。仅当 Node.js 二进制文件编译时包含对 node:crypto模块的支持时,此全局才可用。

crypto#

稳定性:1 - 实验性。使用 --experimental-global-webcrypto CLI 标志启用此 API。

Web Crypto API的浏览器兼容实现。

CryptoKey#

稳定性:1 - 实验性。使用 --experimental-global-webcrypto CLI 标志启用此 API。

<CryptoKey>的浏览器兼容实现。仅当 Node.js 二进制文件编译时包含对 node:crypto模块的支持时,此全局才可用。

CustomEvent#

稳定性:1 - 实验性。使用 --experimental-global-customevent CLI 标志启用此 API。

CustomEvent Web API的浏览器兼容实现。

类:DecompressionStream#

稳定性:1 - 实验性。

DecompressionStream的浏览器兼容实现。

Event#

Event类的浏览器兼容实现。有关更多详细信息,请参阅 EventTargetEvent API 。

EventTarget#

EventTarget类的浏览器兼容实现。有关更多详细信息,请参阅 EventTargetEvent API 。

exports#

该变量可能看起来是全局变量,但事实并非如此。请参阅exports

fetch#

稳定性:1 - 实验性。使用--no-experimental-fetch CLI 标志禁用此 API。

fetch()函数的浏览器兼容实现。

FormData#

稳定性:1 - 实验性。使用--no-experimental-fetch CLI 标志禁用此 API。

<FormData>的浏览器兼容实现。

global#

稳定性:3 - 传统。请改用globalThis

在浏览器中,顶级作用域传统上是全局作用域。这意味着var something将定义一个新的全局变量,ECMAScript 模块内除外。在 Node.js 中,情况有所不同。顶级作用域不是全局作用域;Node.js 模块内的var something对于该模块来说是本地的,无论它是CommonJS 模块还是 ECMAScript 模块

Headers#

稳定性:1 - 实验性。使用--no-experimental-fetch CLI 标志禁用此 API。

<Headers>的浏览器兼容实现。

MessageChannel#

MessageChannel类。请参阅MessageChannel了解更多详情。

MessageEvent#

MessageEvent类。请参阅MessageEvent了解更多详情。

MessagePort#

MessagePort类。请参阅MessagePort了解更多详情。

module#

该变量可能看起来是全局变量,但事实并非如此。请参阅module

performance#

perf_hooks.performance对象。

process#

过程对象。请参阅process对象部分。

queueMicrotask(callback)#

queueMicrotask()方法将微任务排队以调用callback。如果 callback抛出异常, 则将发出process对象 'uncaughtException'事件。

微任务队列由 V8 管理,其使用方式与由 Node.js 管理的process.nextTick()队列类似。在 Node.js 事件循环的每一轮中,process.nextTick()队列 始终先于微任务队列进行处理。

// Here, `queueMicrotask()` is used to ensure the 'load' event is always
// emitted asynchronously, and therefore consistently. Using
// `process.nextTick()` here would result in the 'load' event always emitting
// before any other promise jobs.

DataHandler.prototype.load = async function load(key) {
  const hit = this._cache.get(key);
  if (hit !== undefined) {
    queueMicrotask(() => {
      this.emit('load', hit);
    });
    return;
  }

  const data = await fetchData(key);
  this._cache.set(key, data);
  this.emit('load', data);
}; 

类:ReadableByteStreamController#

稳定性:1 - 实验性。

ReadableByteStreamController的浏览器兼容实现。

类:ReadableStream#

稳定性:1 - 实验性。

ReadableStream的浏览器兼容实现。

类:ReadableStreamBYOBReader#

稳定性:1 - 实验性。

ReadableStreamBYOBReader的浏览器兼容实现。

类:ReadableStreamBYOBRequest#

稳定性:1 - 实验性。

ReadableStreamBYOBRequest的浏览器兼容实现。

类:ReadableStreamDefaultController#

稳定性:1 - 实验性。

ReadableStreamDefaultController的浏览器兼容实现。

类:ReadableStreamDefaultReader#

稳定性:1 - 实验性。

ReadableStreamDefaultReader的浏览器兼容实现。

require()#

该变量可能看起来是全局变量,但事实并非如此。请参阅require()

Response#

稳定性:1 - 实验性。使用--no-experimental-fetch CLI 标志禁用此 API。

<Response>的浏览器兼容实现。

Request#

稳定性:1 - 实验性。使用--no-experimental-fetch CLI 标志禁用此 API。

<Request>的浏览器兼容实现。

setImmediate(callback[, ...args])#

setImmediate计时器部分进行了描述。

setInterval(callback, delay[, ...args])#

setInterval计时器部分进行了描述。

setTimeout(callback, delay[, ...args])#

setTimeout计时器部分进行了描述。

structuredClone(value[, options])#

WHATWG structuredClone方法。

SubtleCrypto#

稳定性:1 - 实验性。使用 --experimental-global-webcrypto CLI 标志启用此 API。

<SubtleCrypto>的浏览器兼容实现。仅当 Node.js 二进制文件编译时包含对 node:crypto模块的支持时,此全局才可用。

DOMException#

WHATWG DOMException类。请参阅DOMException了解更多详情。

TextDecoder#

WHATWG TextDecoder类。请参阅TextDecoder部分。

类:TextDecoderStream#

稳定性:1 - 实验性。

TextDecoderStream的浏览器兼容实现。

TextEncoder#

WHATWG TextEncoder类。请参阅TextEncoder部分。

类:TextEncoderStream#

稳定性:1 - 实验性。

TextEncoderStream的浏览器兼容实现。

类:TransformStream#

稳定性:1 - 实验性。

TransformStream的浏览器兼容实现。

类:TransformStreamDefaultController#

稳定性:1 - 实验性。

TransformStreamDefaultController的浏览器兼容实现。

URL#

WHATWG URL类。请参阅URL部分。

URLSearchParams#

WHATWG URLSearchParams类。请参阅URLSearchParams部分。

WebAssembly#

充当所有 W3C WebAssembly相关功能的命名空间的对象 。有关使用和兼容性的信息,请参阅 Mozilla 开发者网络。

类:WritableStream#

稳定性:1 - 实验性。

WritableStream的浏览器兼容实现。

类:WritableStreamDefaultController#

稳定性:1 - 实验性。

WritableStreamDefaultController的浏览器兼容实现。

类:WritableStreamDefaultWriter#

稳定性:1 - 实验性。

WritableStreamDefaultWriter的浏览器兼容实现。

NodeJS中文文档为Read dev Docs平台提供托管,中文NodeJS文档均由英文版NodeJS文档翻译,版权属于nodejs.org