worker_child.js (776B)
1 let timeStampCodes; 2 let worker = new Worker("worker_grandchild.js"); 3 4 function listenToParent(event) { 5 self.removeEventListener("message", listenToParent); 6 timeStampCodes = event.data; 7 8 let timeStamps = []; 9 for (let timeStampCode of timeStampCodes) { 10 timeStamps.push(eval(timeStampCode)); 11 } 12 // Send the timeStamps to the parent. 13 postMessage(timeStamps); 14 15 // Tell the grandchild to start. 16 worker.postMessage(timeStampCodes); 17 } 18 19 // The worker grandchild will send results back. 20 function listenToChild(event) { 21 worker.removeEventListener("message", listenToChild); 22 // Pass the results to the parent. 23 postMessage(event.data); 24 worker.terminate(); 25 } 26 27 worker.addEventListener("message", listenToChild); 28 self.addEventListener("message", listenToParent);