WorkerGlobalScope:setTimeout() 方法
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/zh-cn/web/api/workerglobalscope/index.md)
备注: 此特性仅在 Web Worker 中可用。
WorkerGlobalScope
接口的 setTimeout()
方法设置一个定时器,一旦定时器到期,就会执行一个函数或指定的代码片段。
语法
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
-
当定时器到期后要执行的函数。
code
-
这是一个代替语法,允许你包含在定时器到期后编译和执行的字符串而非函数。这个语法因为与
eval()
存在相同的安全风险所以不推荐使用。 delay
可选-
定时器在执行指定的函数或代码之前应该等待的时间,单位是毫秒。如果省略该参数,则使用值 0,意味着“立即”执行,或者更准确地说,在下一个事件循环执行。
注意,无论是哪种情况,实际延迟可能会比预期长一些,参见延时比指定值更长的原因。
还要注意的是,如果值不是数字,隐式的类型强制转换会静默地将其转换为数字——这可能导致意想不到的、令人惊讶的结果;参见非数字延迟值被静默地强制转化为数字以获取示例。
param1
、……、paramN
可选-
会被传递给由
functionRef
指定的函数的附加参数。
返回值
返回值 timeoutID
是一个正整数,表示由 setTimeout()
调用创建的定时器的标识符。可以将这个值传递给 clearTimeout()
来取消该定时器。
在定时器仍然激活的情况下,保证 timeoutID
值不会被同一 worker 中的后续 setTimeout()
或 setInterval()
调用重复使用。然而,不同的对象使用不同的 ID 池。
描述
参见 Window.setTimeout()
以获取详细的描述。
示例
参见 Window.setTimeout()
以获取示例。
规范
Specification |
---|
HTML Standard # dom-settimeout-dev |
浏览器兼容性
BCD tables only load in the browser