使用导致浏览器崩溃的工作人员?

时间:2017-11-14 04:34:46

标签: javascript jquery three.js web-worker

我正在尝试使用 three.js 模拟大约10,000个对象。由于物体在移动,我需要计算每个瞬间的轨迹。为此,我决定使用工人。以下是我的代码(为简单起见而截断)

主文件

var Position;

var worker = new Worker('scripts/worker.js');

$(function(){
    initSatData();
    worker.addEventListener('message', function(e) {
        Position = e.data;
        plot(); // plots the objects
  }, false);
})

worker.js

importScripts('scriptUsed.js');
self.addEventListener('message', function(e) {

  var Position =[];
  var Data = e.data;

  for (var i = 0; i <= Data.length-1; i++) {
              // Does calculation
             Position .push(data_obtained);

    }


  self.postMessage({
    type: 'results',
    data: Position 
  })
})

然后在我调用这个函数

function callWorker()
{
    worker.postMessage(Data); 

}

function animate() 
{
    requestAnimationFrame( animate );
    render();
    callWorker();
}

它会运行一段时间然后崩溃。出现以下错误

enter image description here

我认为我犯的是一个简单的逻辑错误,因为我是第一次使用工人。

0 个答案:

没有答案