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 in den Stack implementiert.
Siehe DisposableStack.prototype.use() für allgemeine Informationen über die use()-Methode.
Syntax
use(value)
Parameter
value-
Der Wert, der im 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
valuenichtnulloderundefinedist und keine[Symbol.asyncDispose]()oder[Symbol.dispose]()-Methode enthält. ReferenceError-
Wird ausgelöst, wenn der Stack bereits entsorgt wurde.
Beispiele
>Verwendung von use()
Diese Funktion liest eine Datei (als Node.js FileHandle) und gibt deren Inhalt zurück. Der Datei-Handle 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…