Limited Availability
id: explicit-resource-management
Explicit resource management
The
using and await using declarations and the dispose and asyncDispose symbols manage the lifecycle of resources such as file handles and streams. The DisposableStack and AsyncDisposableStack objects can group, dispose, and coordinate dependencies between multiple disposable resources.
Baseline Status:
This feature is currently Limited and is missing in at least one major browser engine.
Desktop Browser Engine Support
Google Chrome
134
Supported
Mozilla Firefox
141
Supported
Apple Safari
—
Unsupported
Microsoft Edge
134
Supported
Mobile Browser Engine Support
Chrome Android
134
Firefox Android
141
Safari iOS
—
Specifications and References
MDN Browser Compat Data Keys:
javascript.builtins.AsyncDisposableStack ↗
javascript.builtins.AsyncDisposableStack.@@asyncDispose ↗
javascript.builtins.AsyncDisposableStack.AsyncDisposableStack ↗
javascript.builtins.AsyncDisposableStack.adopt ↗
javascript.builtins.AsyncDisposableStack.defer ↗
javascript.builtins.AsyncDisposableStack.disposeAsync ↗
javascript.builtins.AsyncDisposableStack.disposed ↗
javascript.builtins.AsyncDisposableStack.move ↗
javascript.builtins.AsyncDisposableStack.use ↗
javascript.builtins.AsyncIterator.@@asyncDispose ↗
javascript.builtins.DisposableStack ↗
javascript.builtins.DisposableStack.@@dispose ↗
javascript.builtins.DisposableStack.DisposableStack ↗
javascript.builtins.DisposableStack.adopt ↗
javascript.builtins.DisposableStack.defer ↗
javascript.builtins.DisposableStack.dispose ↗
javascript.builtins.DisposableStack.disposed ↗
javascript.builtins.DisposableStack.move ↗
javascript.builtins.DisposableStack.use ↗
javascript.builtins.Iterator.@@dispose ↗
javascript.builtins.SuppressedError ↗
javascript.builtins.SuppressedError.SuppressedError ↗
javascript.builtins.SuppressedError.error ↗
javascript.builtins.SuppressedError.suppressed ↗
javascript.builtins.Symbol.asyncDispose ↗
javascript.builtins.Symbol.dispose ↗
javascript.statements.await_using ↗
javascript.statements.using ↗