Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Window: setImmediate()-Methode

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Diese Methode wird verwendet, um lang andauernde Operationen aufzuteilen und eine Callback-Funktion auszuführen, sobald der Browser andere Vorgänge wie Ereignisse und Anzeigeaktualisierungen abgeschlossen hat.

Syntax

js
setImmediate(func)
setImmediate(func, param1)
setImmediate(func, param1, param2)
setImmediate(func, param1, param2, /* …, */ paramN)

Parameter

func

Die Funktion, die Sie aufrufen möchten.

param1, …, paramN

Alle Parameter werden direkt an Ihre Funktion übergeben.

Rückgabewert

Die ID der mit setImmediate() geplanten Aktion. Sie kann später mit window.clearImmediate verwendet werden.

Hinweise

Mit der Methode clearImmediate() lassen sich mit setImmediate() geplante Aktionen abbrechen, ähnlich wie mit clearTimeout() die mit setTimeout() geplanten Aktionen.

Diese Methode kann anstelle von setTimeout(fn, 0) verwendet werden, um rechenintensive Operationen auszuführen.

Die Funktionalität lässt sich auf verschiedene Arten nachbilden:

  • postMessage() kann verwendet werden, um einen Callback möglichst bald auszulösen, ohne andere Aufgaben dauerhaft zu blockieren.
  • MessageChannel kann zuverlässig innerhalb von Web Workers verwendet werden. Aufgrund der Semantik von postMessage ist dessen Verwendung dort nicht möglich.
  • setTimeout(fn, 0) kann zwar verwendet werden. Da das Intervall bei Timern, die mehr als fünf Ebenen tief verschachtelt sind, gemäß der HTML-Spezifikation jedoch auf mindestens 4 ms begrenzt wird, eignet es sich nicht als Polyfill für die unmittelbare Ausführung durch setImmediate.

Alle diese Techniken sind in einem robusten Polyfill für setImmediate enthalten.

Spezifikationen

Die Methode ist nicht Teil einer aktuellen Spezifikation. An der Spezifikation Efficient Script Yielding wird nicht mehr gearbeitet.

Browser-Kompatibilität

Siehe auch