WorkerGlobalScope: Methode setTimeout()
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Hinweis: Diese Funktion ist nur in Web Workers verfügbar.
Warnung:
Wenn der Parameter code verwendet wird, führt diese Methode seinen Wert dynamisch als JavaScript aus.
APIs wie diese werden als Injection Sinks bezeichnet und können ein Angriffsvektor für Cross-Site-Scripting-Angriffe (XSS) sein.
Sie können dieses Risiko verringern, indem Sie immer TrustedScript-Objekte statt Zeichenfolgen zuweisen und Trusted Types erzwingen.
Weitere Informationen finden Sie unter Sicherheitsaspekte bei Window.setTimeout().
Die Methode setTimeout() der Schnittstelle WorkerGlobalScope setzt einen Timer, der nach Ablauf der festgelegten Zeit eine Funktion oder einen angegebenen Codeabschnitt einmal ausführt.
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 eine Zeichenfolge mit beliebigem Code, der kompiliert und alledelayMillisekunden ausgeführt wird. Dies kann anstelle einer Funktion übergeben werden, wird aber aus denselben Gründen, aus denen die Verwendung voneval()ein Sicherheitsrisiko darstellt, dringend abgeraten. delayOptional-
Die Zeit in Millisekunden, die der Timer warten soll, bevor die angegebene Funktion oder der angegebene Code ausgeführt wird. Wenn kein Wert angegeben wird, beträgt er standardmäßig 0.
Hinweis:
- Der Verzögerungswert darf höchstens 2147483647 ms betragen. Die Angabe größerer Werte kann zu einem Überlauf oder dazu führen, dass der Wert 0 verwendet wird. Weitere Informationen finden Sie unter Maximaler Verzögerungswert.
- Die tatsächliche Verzögerung kann länger sein als angegeben.
Wenn
delaybeispielsweise auf 0 gesetzt wird, erfolgt die Ausführung im nächsten Ereigniszyklus und nicht „sofort“. Weitere Informationen finden Sie unter Gründe für längere Verzögerungen als angegeben. - Wenn der Wert keine Zahl ist, wird er stillschweigend durch implizite Typumwandlung in eine Zahl umgewandelt. Dies kann zu unerwarteten Ergebnissen führen. Ein Beispiel finden Sie unter Nicht numerische Verzögerungswerte werden stillschweigend in Zahlen umgewandelt.
param1, …,paramNOptional-
Zusätzliche Argumente, die an die durch
funcangegebene Funktion weitergegeben werden.
Rückgabewert
Eine positive Ganzzahl (üblicherweise im Bereich von 1 bis 2.147.483.647), die den durch den Aufruf erstellten Timer eindeutig identifiziert.
Dieser Bezeichner, häufig als „Timeout-ID“ bezeichnet, kann an clearTimeout() übergeben werden, um den Timer abzubrechen.
Innerhalb derselben globalen Umgebung (z. B. eines bestimmten Fensters oder Workers) wird die Timeout-ID garantiert nicht für einen neuen Timer wiederverwendet, solange der ursprüngliche Timer aktiv ist. Getrennte globale Umgebungen verwalten jedoch jeweils eigene, voneinander unabhängige Pools von Timer-IDs.
Ausnahmen
SyntaxError-
codekann nicht als Skript geparst werden. TypeError-
Wird ausgelöst, wenn der Parameter
codeauf eine Zeichenfolge gesetzt ist, während Trusted Types durch eine CSP erzwungen werden und keine Standardrichtlinie definiert ist. Der Fehler wird auch ausgelöst, wenn der erste Parameter keinem der unterstützten Typen entspricht: einer Funktion, einer Zeichenfolge oderTrustedScript.
Beschreibung
Ausführliche Beschreibungen finden Sie unter Window.setTimeout().
Beispiele
Beispiele finden Sie unter Window.setTimeout().
Spezifikationen
| Spezifikation |
|---|
| HTML> # dom-settimeout-dev> |