WebWorker

WebWorker

2017.06.01

Worker の中では window.? 系のメソッドはほぼ使えないと思ったほうがいい。

window.location とか window.localStorage() とか、 window.setInterval() とか。

setTimeout() はなぜか使える みたいなのです。

ブラウザ側のコード WebWorker側のコード

self.do_some = function(_data){ var sec = Math.floor(5000 * Math.random()); var str = "wait " + sec + "sec | msg from browser... "; for(var key in _data){ str += "[" + key + "] => " + _data[key]; } var to = setTimeout(function(){ postMessage({complete: str}); }, sec); }; self.addEventListener("message", function(_event){ self.do_some(_event.data); });