Я пытаюсь создать веб-рабочих и отправить им сообщения в цикле:
array.forEach(function (data) {
this.createWorker();
this.workers[this.workersPointer].postMessage({task: 'someTask', data: string});
}, this);
createWorker function:
createWorker: function () {
this.workersPointer++;
var worker = this.workers[this.workersPointer] = new Worker('Worker.js'),
storage = this;
worker.onmessage = function (event) {
if (event.data.error) {
storage[event.data.task + 'Errback'](event.data.error);
}
else {
storage[event.data.task + 'Callback'](event.data.data);
}
};
worker.onerror = function (error) {
storage.workerErrback(error);
};
}
Worker code:
self.addEventListener('message', function (event) {
self.postMessage({
data: data,
error: err,
task: event.data.task
});
}, false);
Он отлично работает в Google Chrome. Когда я пытаюсь запустить его в Firefox, он работает только 20 раз. Есть ли у веб-рабочих Firefox предел? Я не могу найти информацию об этом на сайте mozilla.org. Если лимита нет, в чем проблема? Есть идеи?