A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DisposableStack/defer below:

DisposableStack.prototype.defer() - JavaScript | MDN

DisposableStack.prototype.defer()

Die defer() Methode von DisposableStack Instanzen nimmt eine Rückruffunktion an, die aufgerufen wird, wenn der Stack entsorgt wird.

Syntax Parameter
onDispose

Eine Funktion, die aufgerufen wird, wenn der Stack entsorgt wird. Die Funktion erhält keine Argumente.

Rückgabewert

Keiner (undefined).

Ausnahmen
TypeError

Wird ausgelöst, wenn onDispose keine Funktion ist.

ReferenceError

Wird ausgelöst, wenn der Stack bereits entsorgt ist.

Beschreibung

Der Hauptzweck von defer() besteht darin, einen Bereinigungs-Callback zu registrieren, der nicht spezifisch für die Entsorgung einer bestimmten Ressource ist. Wenn der Callback spezifisch für eine Ressource ist, sollten Sie use() oder adopt() verwenden. Sie können 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
}
Beispiele Verwendung von defer()

Diese Funktion setzt ein einfaches Sperre, um zu verhindern, dass mehrere asynchrone Operationen gleichzeitig ausgeführt 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;
}
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Übersetzung hilfreich?

Diese Seite wurde automatisch aus dem Englischen übersetzt.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4