function set_worker(){
demo_worker = new Worker("worker.js");
demo_worker.onmessage = function(event){
demo_A = event.data;
console.log(demo_A); // success. I get some result
}
}
set_worker();
console.log(demo_A); //undefined. i get undefined..
我想访问" demo_A"。为什么demo_A
undefined
?有没有办法访问demo_A?
答案 0 :(得分:1)
<强> 1。将demo_A
全局。
您已在demo_worker.onmessage()
函数中定义了变量。
它的上下文将仅保留在函数内部。使其成为全局。
<强> 2。收到消息时触发某些功能。
收到邮件时会更新 demo_A
,因此如果您在收到邮件之前打印demo_A
,则可能是undefined
或者可能有一些旧值。
var demo_A ;//make it global
somefunction function(){//triggered when msg recieved
console.log(demo_A);
//do other stuff
}
function set_worker(){
demo_worker = new Worker("worker.js");
demo_worker.onmessage = function(event){
demo_A = event.data;
console.log(demo_A);
somefunction(); // trigger some function
}
}
set_worker();