在我的web應用程序中,我經常不得不重新實例化Worker對象,因爲沒有辦法將新腳本傳遞給舊的現有對象。過了一段時間,一些瀏覽器開始阻止創建新的Worker對象,因爲它們可以達到一個窗口的Worker限制。我試圖在創建新的工作對象之前刪除完成的工作對象,但顯然我以錯誤的方式進行了操作。下面是一個簡單的測試,從而未能在歌劇(上限爲每個窗口256名工人):如何刪除JavaScript中的Worker對象?
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");
}
我的問題是如何徹底刪除一個工人對象,從而使瀏覽器限制將永遠無法實現?謝謝!
是的,似乎工人必須被終止,如果你想完全刪除它。謝謝。 –