WorkerGlobalScope: setTimeout() 方法

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

注意:此功能仅在 Web Workers 中可用。

WorkerGlobalScope 接口的 setTimeout() 方法会设置一个计时器,该计时器会在计时器到期后执行一次指定的函数或代码片段。

语法

js
setTimeout(code)
setTimeout(code, delay)

setTimeout(functionRef)
setTimeout(functionRef, delay)
setTimeout(functionRef, delay, param1)
setTimeout(functionRef, delay, param1, param2)
setTimeout(functionRef, delay, param1, param2, /* …, */ paramN)

参数

functionRef

一个在计时器到期后要执行的 function

code

允许你传入一个字符串而不是一个函数,该字符串会在计时器到期后进行编译和执行。出于与 eval() 相同的安全风险原因,不推荐使用此语法。

delay 可选

计时器应等待执行指定函数或代码的毫秒数。如果省略此参数,则使用值 0,表示“立即”执行,或者更准确地说,在下一个事件循环中执行。

请注意,在这两种情况下,实际延迟可能比预期要长;请参阅 延迟可能比指定时间长的原因

另请注意,如果该值不是数字,则会对该值进行隐式 类型强制转换以将其转换为数字——这可能导致意外和令人惊讶的结果;请参阅 非数字延迟值会被默默强制转换为数字 以获取示例。

param1, …, paramN 可选

传递给 functionRef 指定的函数的其他参数。

返回值

setTimeout() 方法返回一个正整数(通常在 1 到 2,147,483,647 的范围内),它唯一标识了该调用创建的计时器。这个标识符通常被称为“timeout ID”,可以传递给 clearTimeout() 来取消计时器。

在同一个全局环境(例如,特定的窗口或 worker)中,只要原始计时器保持活动状态,就可以保证 timeout ID 不会被用于任何新的计时器。但是,单独的全局环境维护它们自己的独立计时器 ID 池。

描述

有关详细描述,请参阅 Window.setTimeout()

示例

有关示例,请参阅 Window.setTimeout()

规范

规范
HTML
# dom-settimeout-dev

浏览器兼容性

另见