在工作线程中使用 setTimeOut

Using setTimeOut in a worker thread?

本文关键字:setTimeOut 工作 线程      更新时间:2023-09-26

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

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

你可以很好地使用setTimeout不是

setTimeOut)。只需将其用作全局变量:
setTimeout( ... stuff stuff stuff ..., number);

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

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

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

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

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