1
我的網絡工作人員在一個小書籤中工作。該代碼與調用代碼位於同一文件夾中,因爲它使用worker.js文件中的importScripts
函數進行加載,所以我沒有顯式加載工作代碼。loading bookload
我創建像這樣
if(typeof(Worker) !== "undefined") {
worker = new Worker('worker.js');
}
工人然後我打電話,像這樣
worker.postMessage({'cmd': 'start', 'grabRate': grabRate});
工人應該調用該函數在我的工人文件
self.addEventListener('message', function(e) {
console.log("worker message");
var data = e.data;
switch (data.cmd) {
case 'start':
console.log("start from worker");
...
我不沒有看到控制檯中的任何調試消息,告訴我'worker'中已經調用了'message'。我只加載調用worker.js的代碼(在小書籤加載器函數中),因爲它是由new Worker
函數加載的(如果我還在加載函數中包含了這些文件,我可以看到該文件,但函數仍然沒有被調用)。我無法看到Chrome調試源列表中的工作文件或使用importScripts
函數加載的其他文件。
工人對象似乎沒有什麼我看空:。它有一個原型,還有兩個屬性onrorror和onmessage。 –
你在哪裏看到一個空對象?從輸出看來,你似乎得到了常規的WebWorker對象,但沒有任何處理程序現在 – Sirko
Sirko,擱淺的孩子,你的權利,也許我認爲工人尚未裝載尚未成熟,其可能與其他事情有關到郵件不工作,我現在正在調試它們 – ejectamenta