Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
WorkerGlobalScope: setTimeout() Methode
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist nur inWeb Workers verfügbar.
Warnung:Wenn dercode-Parameter verwendet wird, führt diese Methode seinen Wert dynamisch als JavaScript aus.Solche APIs sind alsInjection-Sinks bekannt und können potenziell ein Vektor fürCross-Site-Scripting (XSS)-Angriffe sein.
Sie können dieses Risiko mindern, indem Sie immerTrustedScript-Objekte anstelle von Strings zuweisen undTrusted Types erzwingen.SieheSicherheitsüberlegungen inWindow.setTimeout() für weitere Informationen.
DiesetTimeout()-Methode derWorkerGlobalScope-Schnittstelle setzt einen Timer, der eine Funktion oder ein bestimmtes Stück Code ausführt, sobald der Timer abgelaufen ist.
In diesem Artikel
Syntax
setTimeout(code)setTimeout(code, delay)setTimeout(func)setTimeout(func, delay)setTimeout(func, delay, param1)setTimeout(func, delay, param1, param2)setTimeout(func, delay, param1, param2, /* …, */ paramN)Parameter
funcEine
function, die nach Ablauf des Timers ausgeführt wird.codeEin
TrustedScriptoder ein String von beliebigem Code, der alledelayMillisekunden kompiliert und ausgeführt wird.Dies kann anstelle der Übergabe einer Funktion verwendet werden, wird jedochstark abgeraten, aus denselben Gründen, die die Verwendung voneval()zu einem Sicherheitsrisiko machen.delayOptionalDie Zeit, die der Timer warten soll, bevor die angegebene Funktion oder der Code ausgeführt wird, in Millisekunden.Standardmäßig 0, wenn nicht angegeben.
Hinweis:
- Der Delay hat einen Maximalwert von 2147483647 ms — größere Werte können zu einem Überlauf oder einem Wert von 0 führen.SieheMaximaler Delay-Wert für weitere Informationen.
- Der tatsächliche Delay kann länger sein als eingestellt.Wenn Sie z. B. den
delayauf 0 setzen, wird er im nächsten Ereigniszyklus anstatt "sofort" ausgeführt.SieheGründe für längere Verzögerungen als angegeben für weitere Informationen. - Wenn der Wert keine Zahl ist, erfolgt eine impliziteTypumwandlung, um den Wert in eine Zahl zu konvertieren.Dies kann zu unerwarteten und überraschenden Ergebnissen führen — sieheNicht-numerische Verzögerungswerte werden stillschweigend in Zahlen umgewandelt für ein Beispiel.
param1, …,paramNOptionalZusätzliche Argumente, die der durch
funcangegebenen Funktion übergeben werden.
Rückgabewert
Eine positive Ganzzahl (typischerweise im Bereich von 1 bis 2.147.483.647), die den durch den Aufruf erstellten Timer eindeutig identifiziert.Dieser Bezeichner, oft als "Timeout-ID" bezeichnet, kann anclearTimeout() übergeben werden, um den Timer abzubrechen.
Innerhalb derselben globalen Umgebung (z. B. ein bestimmtes Fenster oder Worker) wird die Timeout-ID nicht für einen neuen Timer wiederverwendet, solange der ursprüngliche Timer aktiv bleibt.Jedoch führen separate globale Umgebungen ihre eigenen unabhängigen Pools von Timer-IDs.
Ausnahmen
SyntaxErrorDer
codekann nicht als Skript geparst werden.TypeErrorWird ausgelöst, wenn der
code-Parameter auf einen String gesetzt wird, währendTrusted Typesdurch eine CSP erzwungen werden und keine Standardrichtlinie definiert ist.Es wird auch ausgelöst, wenn der erste Parameter nicht einer der unterstützten Typen ist: eine Funktion, ein String oderTrustedScript.
Beschreibung
SieheWindow.setTimeout() für detaillierte Beschreibungen.
Beispiele
SieheWindow.setTimeout() für Beispiele.
Spezifikationen
| Specification |
|---|
| HTML> # dom-settimeout-dev> |