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 in Web Workers verfügbar.
Warnung:
Wenn der code-Parameter verwendet wird, führt diese Methode seinen Wert dynamisch als JavaScript aus.
Solche APIs sind als Injection-Sinks bekannt und können potenziell ein Vektor für Cross-Site-Scripting (XSS)-Angriffe sein.
Sie können dieses Risiko mindern, indem Sie immer TrustedScript-Objekte anstelle von Strings zuweisen und Trusted Types erzwingen.
Siehe Sicherheitsüberlegungen in Window.setTimeout() für weitere Informationen.
Die setTimeout()-Methode der WorkerGlobalScope-Schnittstelle setzt einen Timer, der eine Funktion oder ein bestimmtes Stück Code ausführt, sobald der Timer abgelaufen ist.
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
func-
Eine
function, die nach Ablauf des Timers ausgeführt wird. code-
Ein
TrustedScriptoder ein String von beliebigem Code, der alledelayMillisekunden kompiliert und ausgeführt wird. Dies kann anstelle der Übergabe einer Funktion verwendet werden, wird jedoch stark abgeraten, aus denselben Gründen, die die Verwendung voneval()zu einem Sicherheitsrisiko machen. delayOptional-
Die 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. Siehe Maximaler 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. Siehe Gründe für längere Verzögerungen als angegeben für weitere Informationen. - Wenn der Wert keine Zahl ist, erfolgt eine implizite Typumwandlung, um den Wert in eine Zahl zu konvertieren. Dies kann zu unerwarteten und überraschenden Ergebnissen führen — siehe Nicht-numerische Verzögerungswerte werden stillschweigend in Zahlen umgewandelt für ein Beispiel.
param1, …,paramNOptional-
Zusä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 an clearTimeout() ü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
SyntaxError-
Der
codekann nicht als Skript geparst werden. TypeError-
Wird ausgelöst, wenn der
code-Parameter auf einen String gesetzt wird, während Trusted Types durch 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
Siehe Window.setTimeout() für detaillierte Beschreibungen.
Beispiele
Siehe Window.setTimeout() für Beispiele.
Spezifikationen
| Specification |
|---|
| HTML> # dom-settimeout-dev> |