我试着去创建web工人和岗位信息给他们的循环:是否存在Firefox Worker限制?
array.forEach(function (data) {
this.createWorker();
this.workers[this.workersPointer].postMessage({task: 'someTask', data: string});
}, this);
createWorker功能:
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);
};
}
工人代码:
self.addEventListener('message', function (event) {
self.postMessage({
data: data,
error: err,
task: event.data.task
});
},假);
它在谷歌浏览器中完美运行。当我试图在Firefox中运行它时,它只能运行20次。 Firefox网络工作者是否有限制?我在mozilla.org上找不到关于它的信息。如果没有限制,问题是什么?有任何想法吗?
只是想知道,为什么我没有找到谷歌与“Firefox的工作人员限制”查询...以及为什么没有错误消息在Firefox和Chrome。 – 2012-02-18 09:47:49
这里是一个铬错误提交: http://code.google.com/p/chromium/issues/detail?id=37518 – Alex 2012-02-18 09:51:49
没有错误信息,因为如果你创造更多的工人超过限制,他们只是排队去运行。限制是同时运行的工人,而不是总工人。如果你设立的工人实际上在某个时候终止了,你会看到排队的人开始跑步。但是你试图设置200名工人,并且生命无限...... – 2012-02-19 05:03:58