Spec-Zone.ru › JavaScript

AsyncDisposableStack.prototype.defer()

Базовый уровень Ограниченная доступность

Эта функция не относится к Базовому уровню, так как она не работает в некоторых из наиболее широко используемых браузеров.

Метод defer() экземпляров AsyncDisposableStack принимает функцию обратного вызова, которая будет вызвана и ожидаема при уничтожении стека.

См. DisposableStack.prototype.defer() для получения общей информации о методе defer().

Синтаксис

defer(onDispose)

Параметры

onDispose
Функция, которая будет вызвана при уничтожении стека. Функция не принимает аргументов и может вернуть промис, который будет ожидаться.

Возвращаемое значение

Нет (undefined).

Исключения

TypeError
Выбрасывается, если onDispose не является функцией.
ReferenceError
Выбрасывается, если стек уже уничтожен.

Примеры

Использование defer()

Один из вариантов использования defer() — выполнение действий, не связанных с освобождением ресурсов, при выходе из области видимости, например, запись сообщения в журнал.

async function doSomething() {
  await using disposer = new AsyncDisposableStack();
  disposer.defer(async () => {
    await fs.writeFile("log.txt", "All resources freed successfully");
  });
  // Other code that claims and frees more data
}

Спецификации

Спецификация
ECMAScript Async Explicit Resource Management
# sec-asyncdisposablestack.prototype.defer

Совместимость с браузерами

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
defer
134
134
141
119
preview
134
141
88
Нет
29.0
134
Нет
1.3.0
2.2.10
24.0.0

См. также

  • Управление ресурсами JavaScript
  • AsyncDisposableStack
  • AsyncDisposableStack.prototype.adopt()
  • AsyncDisposableStack.prototype.use()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncDisposableStack/defer

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API