Глобальные объекты
Эти объекты доступны во всех модулях. Следующие переменные могут казаться глобальными, но таковыми не являются. Они существуют только в рамках модулей, см. документацию по системе модулей:
Перечисленные здесь объекты специфичны для Node.js. Существуют встроенные объекты, которые являются частью самого языка JavaScript и также доступны глобально.
Класс: AbortController
Утилитарный класс, используемый для сигнализации об отмене в выбранных Promise-базированных API. API основано на веб-API AbortController.
const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Aborted!'),
{ once: true });
ac.abort();
console.log(ac.signal.aborted); // Prints true copy
abortController.abort([reason])
-
reason<любое> Необязательная причина, извлекаемая из свойстваAbortSignalобъектаreason.
Вызывает сигнал отмены, заставляя abortController.signal выпустить событие 'abort'.
abortController.signal
- Тип: <AbortSignal>
Класс: AbortSignal
- Расширяет: <EventTarget>
AbortSignal используется для уведомления наблюдателей, когда вызывается метод abortController.abort().
Статический метод: AbortSignal.abort([reason])
-
reason: <любое> - Возвращает: <AbortSignal>
Возвращает новый уже отменённый AbortSignal.
Статический метод: AbortSignal.timeout(delay)
-
delay<число> Количество миллисекунд ожидания перед вызовом AbortSignal.
Возвращает новый AbortSignal, который будет отменён через delay миллисекунд.
Статический метод: AbortSignal.any(signals)
-
signals<AbortSignal[]>AbortSignal, из которых составляется новыйAbortSignal.
Возвращает новый AbortSignal, который будет отменён, если любой из предоставленных сигналов будет отменён. Его свойство abortSignal.reason будет установлено в значение той signals, которая привела к отмене.
Событие: 'abort'
Событие 'abort' генерируется, когда вызывается метод abortController.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(); copy AbortController, с которым связан AbortSignal, будет срабатывать событие 'abort' только один раз. Рекомендуется проверять значение атрибута abortSignal.aborted на false перед добавлением обработчика события 'abort'.
Любые обработчики событий, прикреплённые к AbortSignal, должны использовать параметр { once: true } (или, если используются API для прикрепления обработчика, метод EventEmitter) для гарантии удаления обработчика, как только событие 'abort' будет обработано. Отсутствие этого может привести к утечкам памяти.
abortSignal.aborted
- Тип: <логическое значение> Истинно, после того, как
AbortControllerбыл отменён.
abortSignal.onabort
- Тип: <Функция>
Необязательная функция обратного вызова, которая может быть установлена пользовательским кодом для уведомления при вызове функции abortController.abort().
abortSignal.reason
- Тип: <любое>
Необязательная причина, указанная при вызове AbortSignal.
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason); // Error: boom! copy
abortSignal.throwIfAborted()
Если abortSignal.aborted равно true, выбрасывает abortSignal.reason.
Класс: Blob
См. <Blob>.
Класс: Buffer
Используется для обработки двоичных данных. См. раздел buffer.
Класс: ByteLengthQueuingStrategy
Реализация, совместимая с браузером, для ByteLengthQueuingStrategy.
__dirname
Эта переменная может казаться глобальной, но таковой не является. См. __dirname.
__filename
Эта переменная может казаться глобальной, но таковой не является. См. __filename.
atob(data)
Buffer.from(data, 'base64') вместо.Глобальный псевдоним для buffer.atob().
BroadcastChannel
См. <BroadcastChannel>.
btoa(data)
buf.toString('base64') вместо.Глобальный псевдоним для buffer.btoa().
clearImmediate(immediateObject)
clearImmediate описан в разделе timers.
clearInterval(intervalObject)
clearInterval описан в разделе timers.
clearTimeout(timeoutObject)
clearTimeout описан в разделе timers.
Класс: CompressionStream
Реализация, совместимая с браузером, для CompressionStream.
console
Используется для вывода в stdout и stderr. См. раздел console.
Класс: CountQueuingStrategy
Реализация, совместимая с браузером, класса CountQueuingStrategy.
Crypto
--experimental-global-webcrypto.Реализация, совместимая с браузером, объекта <Crypto>. Этот глобальный объект доступен только если бинарник Node.js был скомпилирован с поддержкой модуля node:crypto.
crypto
--experimental-global-webcrypto.Реализация, совместимая с браузером, API криптографии веб-браузера (Web Crypto API).
CryptoKey
--experimental-global-webcrypto.Реализация, совместимая с браузером, класса <CryptoKey>. Этот глобальный объект доступен только если бинарник Node.js был скомпилирован с поддержкой модуля node:crypto.
CustomEvent
--experimental-global-customevent.Реализация, совместимая с браузером, CustomEvent API.
Класс: DecompressionStream
Реализация, совместимая с браузером, класса DecompressionStream.
Event
Реализация, совместимая с браузером, класса Event. Подробнее см. EventTarget и Event API.
EventTarget
Реализация, совместимая с браузером, класса EventTarget. Подробнее см. EventTarget и Event API.
exports
Эта переменная может казаться глобальной, но таковой не является. См. exports.
fetch
--no-experimental-fetch.Реализация, совместимая с браузером, функции fetch().
Класс FormData
--no-experimental-fetch.Реализация, совместимая с браузером, класса <FormData>.
global
globalThis вместо этого.- <Объект> Глобальный объект.
В браузерах верхний уровень области видимости традиционно является глобальной областью видимости. Это означает, что var something будет определять новую глобальную переменную, за исключением ECMAScript-модулей. В Node.js это отличается. Верхний уровень области видимости не является глобальной областью видимости; var something внутри модуля Node.js будет локальным для этого модуля, независимо от того, является ли он модулем CommonJS или ECMAScript-модулем.
Класс Headers
--no-experimental-fetch.Реализация, совместимая с браузером, класса <Headers>.
MessageChannel
Класс MessageChannel. Подробнее см. MessageChannel.
MessageEvent
Класс MessageEvent. Подробнее см. MessageEvent.
MessagePort
Класс MessagePort. Подробнее см. MessagePort.
module
Эта переменная может казаться глобальной, но таковой не является. См. module.
performance
Объект perf_hooks.performance.
process
Объект process. См. раздел process.
queueMicrotask(callback)
-
callback<Функция> Функция, подлежащая очереди.
Метод queueMicrotask() помещает микрозадачу в очередь для вызова callback. Если callback вызывает исключение, будет вызвано событие 'uncaughtException' объекта process.
Управление очередью микрозадач выполняет V8 и она может использоваться аналогично очереди process.nextTick(), которая управляется Node.js. Очередь process.nextTick() всегда обрабатывается перед очередью микрозадач в каждом цикле цикла событий Node.js.
// 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);
}; copy Класс: ReadableByteStreamController
Реализация, совместимая с браузером, класса ReadableByteStreamController.
Класс: ReadableStream
Реализация, совместимая с браузером, класса ReadableStream.
Класс: ReadableStreamBYOBReader
Реализация, совместимая с браузером, класса ReadableStreamBYOBReader.
Класс: ReadableStreamBYOBRequest
Реализация, совместимая с браузером, класса ReadableStreamBYOBRequest.
Класс: ReadableStreamDefaultController
Реализация, совместимая с браузером, класса ReadableStreamDefaultController.
Класс: ReadableStreamDefaultReader
Реализация, совместимая с браузером, класса ReadableStreamDefaultReader.
require()
Эта переменная может казаться глобальной, но таковой не является. См. require().
Response
--no-experimental-fetch.Реализация, совместимая с браузером, объекта <Response>.
Request
--no-experimental-fetch.Реализация, совместимая с браузером, объекта <Request>.
setImmediate(callback[, ...args])
setImmediate описан в разделе timers.
setInterval(callback, delay[, ...args])
setInterval описан в разделе timers.
setTimeout(callback, delay[, ...args])
setTimeout описан в разделе timers.
structuredClone(value[, options])
Метод WHATWG structuredClone.
SubtleCrypto
--experimental-global-webcrypto.Реализация, совместимая с браузером, класса <SubtleCrypto>. Этот глобальный объект доступен только в том случае, если бинарный файл Node.js был скомпилирован с включением поддержки модуля node:crypto.
DOMException
Класс WHATWG DOMException. Подробности см. в DOMException.
TextDecoder
Класс WHATWG TextDecoder. См. раздел TextDecoder.
Класс: TextDecoderStream
Реализация, совместимая с браузером, класса TextDecoderStream.
TextEncoder
Класс WHATWG TextEncoder. См. раздел TextEncoder.
Класс: TextEncoderStream
Реализация, совместимая с браузером, класса TextEncoderStream.
Класс: TransformStream
Реализация, совместимая с браузером, класса TransformStream.
Класс: TransformStreamDefaultController
Реализация, совместимая с браузером, класса TransformStreamDefaultController.
URL
Класс WHATWG URL. См. раздел URL.
URLSearchParams
Класс WHATWG URLSearchParams. См. раздел URLSearchParams.
WebAssembly
Объект, служащий пространством имён для всех функций W3C, связанных с WebAssembly. Обратитесь к Mozilla Developer Network для получения информации об использовании и совместимости.
Класс: WritableStream
Реализация, совместимая с браузером, класса WritableStream.
Класс: WritableStreamDefaultController
Реализация, совместимая с браузером, класса WritableStreamDefaultController.
Класс: WritableStreamDefaultWriter
Реализация, совместимая с браузером, класса WritableStreamDefaultWriter.
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v18.x/docs/api/globals.html