我在创建的Web Worker中从main调用函数时遇到问题。我用Java语言创建了一个类似于enum的对象:
const states = {
START: 'start',
ADDCHAR: 'addchar',
WORDBEFORE: 'wordbefore',
REMOVECHAR: 'removechar',
RESET: 'reset'
}
并且每个元素都具有我在以下代码中使用的状态:
self.addEventListener('message', function(e) {
while( true ){
switch ( state ){
case states.START:
start();
state = states.ADDCHAR;
case states.ADDCHAR:
addchar();
state = states.WORDBEFORE;
case states.WORDBEFORE:
sleep(3000);
state = states.REMOVECHAR;
case states.REMOVECHAR:
removeChar();
state = states.RESET;
case states.RESET:
reset();
state = states.START;
}
sleep(1000);
}
});
问题是我无法从main访问功能:start()
,addchar()
等。>
如何从网络工作者内部实现这些功能?我从main向Web工作者发送消息,但是从Web worker到Main进行“连接”是行不通的(并且仍然发送消息并不能解决我的所有问题,因为我必须从Main调用特定功能在switch语句中)。
我尝试对代码进行大量修改,但无法解决。
我在创建的Web Worker中从main调用函数时遇到问题。我用Java语言创建了一个类似于枚举的对象:conststates = {START:'start',ADDCHAR:'...
浏览器窗口中加载的JavaScript脚本范围内的函数和全局变量对于Web Worker来说是不可访问的。