我想编写测试脚本来检查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未定义。
答案 0 :(得分:2)
如果您使用的JavaScript环境本身支持Web worker,那么它们应该只是那里供您使用,并且您的代码应该可以运行。因此,最可能的问题是,您实际上是在一个本身不支持Web工作者的JavaScript环境中运行代码。例如,如果要在Node.js中使用Web worker,则必须添加library that provides it。根据{{3}},IE在版本10之前不支持Web worker。