Глобальные объекты
Эти объекты доступны во всех модулях.
Следующие переменные могут показаться глобальными, но таковыми не являются. Они существуют только в области видимости модулей CommonJS:
Перечисленные здесь объекты специфичны для Node.js. Существуют встроенные объекты, являющиеся частью самого языка JavaScript; они также доступны глобально.
Класс: AbortController
Вспомогательный класс, используемый для отправки сигнала отмены в отдельных API на основе Promise. 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<any> Необязательная причина, которую можно получить через свойствоreasonобъектаAbortSignal.
Активирует сигнал отмены, вызывая генерацию события 'abort' объектом abortController.signal.
abortController.signal
- Тип: <AbortSignal>
Класс: AbortSignal
- Наследует: <EventTarget>
Объект AbortSignal используется для уведомления наблюдателей о вызове метода abortController.abort().
Статический метод: AbortSignal.abort([reason])
-
reason: <any> - Возвращает: <AbortSignal>
Возвращает новый уже отменённый объект AbortSignal.
Статический метод: AbortSignal.timeout(delay)
-
delay<number> Количество миллисекунд ожидания перед активацией 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' только один раз. Рекомендуется перед добавлением обработчика события 'abort' проверять, что атрибут abortSignal.aborted имеет значение false.
Обработчики событий, подключённые к объекту AbortSignal, должны использовать параметр { once: true } (или, если обработчик подключается с помощью API EventEmitter, использовать метод once()), чтобы обработчик события удалялся сразу после обработки события 'abort'. В противном случае возможны утечки памяти.
abortSignal.aborted
- Тип: <boolean> Значение true после отмены объекта
AbortController.
abortSignal.onabort
- Тип: <Function>
Необязательная функция обратного вызова, которую пользовательский код может задать для получения уведомления о вызове функции abortController.abort().
abortSignal.reason
- Тип: <any>
Необязательная причина, указанная при активации 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
Используется для обработки двоичных данных. См. раздел о буферах.
Класс: 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 описан в разделе о таймерах.
clearInterval(intervalObject)
clearInterval описан в разделе о таймерах.
clearTimeout(timeoutObject)
clearTimeout описан в разделе о таймерах.
Класс: CompressionStream
Совместимая с браузерами реализация CompressionStream.
console
Используется для вывода в stdout и stderr. См. раздел console.
Класс: CountQueuingStrategy
Совместимая с браузерами реализация CountQueuingStrategy.
Crypto
--no-experimental-global-webcrypto.Совместимая с браузерами реализация <Crypto>. Этот глобальный объект доступен только в том случае, если бинарный файл Node.js был собран с поддержкой модуля node:crypto.
crypto
--no-experimental-global-webcrypto.Совместимая с браузерами реализация Web Crypto API.
CryptoKey
--no-experimental-global-webcrypto.Совместимая с браузерами реализация <CryptoKey>. Этот глобальный объект доступен только в том случае, если бинарный файл Node.js был собран с поддержкой модуля node:crypto.
CustomEvent
--no-experimental-global-customevent.Совместимая с браузерами реализация веб-API CustomEvent.
Класс: DecompressionStream
Совместимая с браузерами реализация DecompressionStream.
Event
Совместимая с браузерами реализация класса Event. Подробнее см. в разделе EventTarget и API Event.
EventSource
--experimental-eventsource.Совместимая с браузерами реализация класса EventSource.
EventTarget
Совместимая с браузерами реализация класса EventTarget. Подробнее см. в разделе EventTarget и API Event.
exports
Эта переменная может показаться глобальной, но таковой не является. См. exports.
fetch
--no-experimental-fetch.Совместимая с браузерами реализация функции fetch().
const res = await fetch('https://nodejs.org/api/documentation.json');
if (res.ok) {
const data = await res.json();
console.log(data);
} copy Реализация основана на undici — HTTP/1.1-клиенте, написанном с нуля для Node.js. Узнать, какая версия undici включена в процесс Node.js, можно, прочитав свойство process.versions.undici.
Пользовательский диспетчер
Можно использовать пользовательский диспетчер для отправки запросов, передав его в объект параметров fetch. Диспетчер должен быть совместим с классом Dispatcher из undici.
fetch(url, { dispatcher: new MyAgent() }); copy В Node.js можно изменить глобальный диспетчер, установив undici и вызвав метод setGlobalDispatcher(). Вызов этого метода повлияет как на undici, так и на Node.js.
import { setGlobalDispatcher } from 'undici';
setGlobalDispatcher(new MyAgent()); copy Связанные классы
Следующие глобальные объекты доступны для использования с fetch:
Класс: File
См. <File>.
Класс FormData
--no-experimental-fetch.Совместимая с браузерами реализация <FormData>.
global
globalThis.- <Object> Объект глобального пространства имён.
В браузерах верхняя область видимости традиционно является глобальной. Это означает, что 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.
PerformanceEntry
Класс PerformanceEntry. Подробнее см. PerformanceEntry.
PerformanceMark
Класс PerformanceMark. Подробнее см. PerformanceMark.
PerformanceMeasure
Класс PerformanceMeasure. Подробнее см. PerformanceMeasure.
PerformanceObserver
Класс PerformanceObserver. Подробнее см. PerformanceObserver.
PerformanceObserverEntryList
Класс PerformanceObserverEntryList. Подробнее см. PerformanceObserverEntryList.
PerformanceResourceTiming
Класс PerformanceResourceTiming. Подробнее см. PerformanceResourceTiming.
performance
Объект perf_hooks.performance.
process
Объект процесса. См. раздел объект process.
queueMicrotask(callback)
-
callback<Function> Функция, которую нужно поставить в очередь.
Метод queueMicrotask() ставит в очередь микрозадачу для вызова callback. Если callback вызывает исключение, генерируется событие 'uncaughtException' объекта process.
Очередью микрозадач управляет V8; её можно использовать аналогично очереди process.nextTick(), которой управляет Node.js. В каждом цикле цикла событий 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);
}; 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 описана в разделе таймеры.
setInterval(callback, delay[, ...args])
setInterval описана в разделе таймеры.
setTimeout(callback, delay[, ...args])
setTimeout описана в разделе таймеры.
structuredClone(value[, options])
Метод WHATWG structuredClone.
SubtleCrypto
--no-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.
WebSocket
Реализация WebSocket, совместимая с браузерами. Включите этот API с помощью флага командной строки --experimental-websocket.
Класс: 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-v20.x/docs/api/globals.html