在工作线程中使用setTimeOut?

时间:2016-03-17 12:32:50

标签: javascript settimeout web-worker

我试图使用通过依赖window.setTimeOut实现的库来实现。我想在一个无法访问window范围的工作线程中使用它。

是否可以使用polyfill或使用在此上下文中执行相同操作的任何其他方法?

1 个答案:

答案 0 :(得分:1)

您可以完美地使用setTimeout setTimeOut )。只需将其用作全局变量:

setTimeout( ... stuff stuff stuff ..., number);

如果由于某种原因想要使用全局范围对象,则在浏览器和Web Worker中都定义了self

self.setTimeout( ... stuff stuff stuff ..., number);

如果某个库试图访问window,只需将其定义为全局范围:

self.window = self;
window.setTimeout( ... stuff stuff stuff ..., number);

如果您有其他疑问,请查看此jsfiddle:https://jsfiddle.net/ryovLea1/1/