AsyncDisposableStack.prototype.use()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die use() Methode von AsyncDisposableStack Instanzen registriert einen Wert, der das asynchrone Disposable-Protokoll auf dem Stack implementiert.
Siehe DisposableStack.prototype.use() für allgemeine Informationen über die use() Methode.
Syntax
use(value)
Parameter
value-
Der Wert, der auf dem Stack registriert werden soll. Muss entweder eine
[Symbol.asyncDispose]()oder[Symbol.dispose]()Methode enthalten odernulloderundefinedsein.
Rückgabewert
Der gleiche value, der übergeben wurde.
Ausnahmen
TypeError-
Wird ausgelöst, wenn
valuewedernullnochundefinedist und keine[Symbol.asyncDispose]()oder[Symbol.dispose]()Methode enthält. ReferenceError-
Wird ausgelöst, wenn der Stack bereits disposed ist.
Beispiele
>Verwendung von use()
Diese Funktion liest eine Datei (als Node.js FileHandle) und gibt deren Inhalt zurück. Der Dateihandler wird automatisch geschlossen, wenn die Funktion abgeschlossen ist, da die FileHandle Klasse eine [Symbol.asyncDispose]() Methode implementiert, die die Datei asynchron schließt.
async function readFileContents(path) {
await using disposer = new AsyncDisposableStack();
const handle = disposer.use(fs.open(path));
const data = await handle.read();
return data;
// The disposer is disposed here, which causes handle to be closed too
}
Spezifikationen
| Specification |
|---|
| ECMAScript Async Explicit Resource Management> # sec-asyncdisposablestack.prototype.use> |
Browser-Kompatibilität
Loading…