В моем веб-приложении мне постоянно приходится повторно создавать объекты Worker, потому что нет способа передать новый скрипт старым существующим объектам. Через некоторое время некоторые браузеры начинают блокировать создание новых объектов Worker, потому что их пределы Workers для одного окна достигнуты. Я пытался удалить готовые рабочие объекты до создания новых, но, видимо, я делаю это неправильно. Вот простой тест, который терпит неудачу в опере (предел 256 рабочих на окно):Как удалить объект Worker в JavaScript?
var worker;
for(var i = 0; i < 300; i++) {
for (var key in worker) worker[key] = null;
delete worker.onmessage;
delete worker.onerror;
delete worker;
worker = new Worker("script.js");
}
Мой вопрос будет, как полностью удалить объект уборщицы, так что предел браузера никогда не будет достигнут? Спасибо!
Да, кажется, что рабочий должен быть разорван, если вы хотите удалить его полностью. Спасибо. –