这是我的代码。但是我收到了错误。请帮我解决这个问题。
在控制器中
if(typeof(Worker) !== "undefined") {
if(typeof(worker) == "undefined") {
var worker = new Worker("assets/scripts/directives/custommultifilter.js");
worker.postMessage({ "getobject":scope.payloadRowCollection});
worker.onmessage = function(event) {
console.log(event);
}
}
}
在web worker(custommultifilter.js)
中self.addEventListener("message", function(e) {
$scope.arr = [1,2,3];
postMessage($scope.arr);
}, false);
答案 0 :(得分:0)
无法在网络工作者和" main"之间共享变量。脚本。如果是,你会遇到并发问题。
但您可以通过活动进行交流:
// in the worker
self.postMessage('someData);
// in angular
worker.addEventListener('message', function(e) {
console.log('Worker said: ', e.data);
}, false);
这是一个关于网络工作者的好教程。 http://www.html5rocks.com/en/tutorials/workers/basics/