Перейти к содержанию

Глобальные объекты

latest

Стабильность: 2 – Стабильная

АПИ является удовлетворительным. Совместимость с NPM имеет высший приоритет и не будет нарушена кроме случаев явной необходимости.

Эти объекты доступны во всех модулях.

Следующие переменные могут казаться глобальными, но таковыми не являются. Они существуют только в области видимости модулей CommonJS:

Перечисленные ниже объекты относятся к Node.js. Есть и встроенные объекты, входящие в сам язык JavaScript; они тоже доступны глобально.

__dirname

Эта переменная может казаться глобальной, но таковой не является. См. __dirname.

__filename

Эта переменная может казаться глобальной, но таковой не является. См. __filename.

Класс: AbortController

История
Версия Изменения
v15.4.0 Больше не экспериментально.

Вспомогательный класс для сигнализации об отмене в выбранных API на основе Promise. API основан на веб-API AbortController.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const ac = new AbortController();

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

ac.abort();

console.log(ac.signal.aborted); // Выводит true

abortController.abort([reason])

История
Версия Изменения
v17.2.0, v16.14.0 Добавлен новый необязательный аргумент причины.
  • reason {any} Необязательная причина; доступна в свойстве reason у AbortSignal.

Инициирует сигнал отмены: у abortController.signal генерируется событие 'abort'.

abortController.signal

  • Тип:

Класс: AbortSignal

AbortSignal уведомляет подписчиков о вызове метода abortController.abort().

Статический метод: AbortSignal.abort([reason])

История
Версия Изменения
v17.2.0, v16.14.0 Добавлен новый необязательный аргумент причины.
  • reason {any}
  • Возвращает:

Возвращает новый уже прерванный AbortSignal.

Статический метод: AbortSignal.timeout(delay)

  • delay Задержка в миллисекундах до срабатывания AbortSignal.

Возвращает новый AbortSignal, который будет прерван через delay миллисекунд.

Статический метод: AbortSignal.any(signals)

  • signals AbortSignal, из которых составляется новый AbortSignal.

Возвращает новый AbortSignal, который будет прерван, если прерван любой из переданных сигналов. Свойство abortSignal.reason получит значение той причины, которая привела к прерыванию.

Событие: 'abort'

Событие 'abort' генерируется при вызове abortController.abort(). Колбэк получает один объект-аргумент с единственным свойством type, равным 'abort':

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
const ac = new AbortController();

// Через свойство onabort...
ac.signal.onabort = () => console.log('aborted!');

// Или через API EventTarget...
ac.signal.addEventListener(
    'abort',
    (event) => {
        console.log(event.type); // Выводит 'abort'
    },
    { once: true }
);

ac.abort();

AbortController, связанный с AbortSignal, может сгенерировать 'abort' только один раз. Рекомендуется проверять, что abortSignal.aborted равно false, перед добавлением слушателя 'abort'.

Слушатели на AbortSignal следует вешать с опцией { once: true } (или через once() у EventEmitter), чтобы слушатель удалился сразу после обработки 'abort'. Иначе возможны утечки памяти.

abortSignal.aborted

  • Тип:

true после того, как AbortController был прерван.

abortSignal.onabort

  • Тип:

Необязательный колбэк, который пользовательский код может задать для уведомления о вызове abortController.abort().

abortSignal.reason

  • Тип: {any}

Необязательная причина, указанная при срабатывании AbortSignal.

1
2
3
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason); // Error: boom!

abortSignal.throwIfAborted()

Если abortSignal.aborted равно true, выбрасывает abortSignal.reason.

atob(data)

Стабильность: 3 – Закрыто

Используйте вместо этого Buffer.from(data, 'base64').

Глобальный псевдоним для buffer.atob().

Доступна автоматическая миграция (исходники):

1
npx codemod@latest @nodejs/buffer-atob-btoa

Класс: Blob

См. Blob.

Класс: BroadcastChannel

См. BroadcastChannel.

btoa(data)

Стабильность: 3 – Закрыто

Используйте вместо этого buf.toString('base64').

Глобальный псевдоним для buffer.btoa().

Доступна автоматическая миграция (исходники):

1
npx codemod@latest @nodejs/buffer-atob-btoa

Класс: Buffer

  • Тип:

Для работы с двоичными данными. См. раздел buffer.

Класс: ByteLengthQueuingStrategy

Добавлено в: v18.0.0

История
Версия Изменения
v23.11.0, v22.15.0 Маркировка стабильного API.

Реализация ByteLengthQueuingStrategy, совместимая с браузером.

clearImmediate(immediateObject)

clearImmediate описан в разделе таймеры.

clearInterval(intervalObject)

clearInterval описан в разделе таймеры.

clearTimeout(timeoutObject)

clearTimeout описан в разделе таймеры.

Класс: CloseEvent

Реализация CloseEvent, совместимая с браузером. Отключите это API флагом CLI --no-experimental-websocket.

Класс: CompressionStream

Добавлено в: v18.0.0

История
Версия Изменения
v24.7.0, v22.20.0 формат теперь принимает значение brotli.
v23.11.0, v22.15.0 Маркировка стабильного API.

Реализация CompressionStream, совместимая с браузером.

console

Комментарии