| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DisposableStack/defer | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Die defer() Methode von DisposableStack Instanzen nimmt eine Rckruffunktion an, die aufgerufen wird, wenn der Stack entsorgt wird.
defer(onDispose)
onDisposeEine Funktion, die aufgerufen wird, wenn der Stack entsorgt wird. Die Funktion erhlt keine Argumente.
Keiner (undefined).
TypeErrorWird ausgelst, wenn onDispose keine Funktion ist.
ReferenceErrorWird ausgelst, wenn der Stack bereits entsorgt ist.
Der Hauptzweck von defer() besteht darin, einen Bereinigungs-Callback zu registrieren, der nicht spezifisch fr die Entsorgung einer bestimmten Ressource ist. Wenn der Callback spezifisch fr eine Ressource ist, sollten Sie use() oder adopt() verwenden. Sie knnen defer auch verwenden, wenn die Ressource nicht in Ihrem Code beansprucht wird:
function consumeReader(reader) {
using disposer = new DisposableStack();
disposer.defer(() => reader.releaseLock());
// Do something with reader
}
Diese Funktion setzt ein einfaches Sperre, um zu verhindern, dass mehrere asynchrone Operationen gleichzeitig ausgefhrt werden. Die Sperre wird freigegeben, wenn die Funktion abgeschlossen ist.
let isLocked = false;
async function requestWithLock(url, options) {
if (isLocked) {
return undefined;
}
using disposer = new DisposableStack();
isLocked = true;
disposer.defer(() => (isLocked = false));
const data = await fetch(url, options).then((res) => res.json());
return data;
}
| Spezifikation |
|---|
| ECMAScript Async Explicit Resource Management # sec-asyncdisposablestack.prototype.defer |
DisposableStackDisposableStack.prototype.adopt()DisposableStack.prototype.use()DisposableStackObject/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |