当我尝试 运行 mocha 测试时,工作人员未定义
Worker not defined when I try to run mocha test
我想编写测试脚本来检查是否在某个外部文件的函数中创建了 Worker。我要测试的功能是
createPoller: function () {
var poller = new Worker(POLLER_PATH),
_this = this;
/* worker handler on receiving the message */
poller.onmessage = this.handlePoller.bind(_this);
this.set('pollerId', U.generateUUID());
this.set('poller', poller);
}
>>> ReferenceError: Worker is not defined
at new Worker(POLLER_PATH)
^
当我 运行 代码时,worker 被创建并且工作正常。但是当我 运行 在该特定代码上编写脚本时,它说 Worker 未定义。
如果您使用的 JavaScript 环境原生支持网络工作者,那么它们应该在那里 供您使用,您的代码应该可以工作。因此,最可能的问题是您实际上 运行 您的代码处于 JavaScript 环境中,该环境本身不支持网络工作者。例如,如果你想在 Node.js 中使用 web worker,你必须添加一个 library that provides it. According to MDN,IE 10 之前的版本不支持 web worker。
我想编写测试脚本来检查是否在某个外部文件的函数中创建了 Worker。我要测试的功能是
createPoller: function () {
var poller = new Worker(POLLER_PATH),
_this = this;
/* worker handler on receiving the message */
poller.onmessage = this.handlePoller.bind(_this);
this.set('pollerId', U.generateUUID());
this.set('poller', poller);
}
>>> ReferenceError: Worker is not defined
at new Worker(POLLER_PATH)
^
当我 运行 代码时,worker 被创建并且工作正常。但是当我 运行 在该特定代码上编写脚本时,它说 Worker 未定义。
如果您使用的 JavaScript 环境原生支持网络工作者,那么它们应该在那里 供您使用,您的代码应该可以工作。因此,最可能的问题是您实际上 运行 您的代码处于 JavaScript 环境中,该环境本身不支持网络工作者。例如,如果你想在 Node.js 中使用 web worker,你必须添加一个 library that provides it. According to MDN,IE 10 之前的版本不支持 web worker。