29 lines
776 B
JavaScript
29 lines
776 B
JavaScript
let timeStampCodes;
|
|
let worker = new Worker("worker_grandchild.js");
|
|
|
|
function listenToParent(event) {
|
|
self.removeEventListener("message", listenToParent);
|
|
timeStampCodes = event.data;
|
|
|
|
let timeStamps = [];
|
|
for (let timeStampCode of timeStampCodes) {
|
|
timeStamps.push(eval(timeStampCode));
|
|
}
|
|
// Send the timeStamps to the parent.
|
|
postMessage(timeStamps);
|
|
|
|
// Tell the grandchild to start.
|
|
worker.postMessage(timeStampCodes);
|
|
}
|
|
|
|
// The worker grandchild will send results back.
|
|
function listenToChild(event) {
|
|
worker.removeEventListener("message", listenToChild);
|
|
// Pass the results to the parent.
|
|
postMessage(event.data);
|
|
worker.terminate();
|
|
}
|
|
|
|
worker.addEventListener("message", listenToChild);
|
|
self.addEventListener("message", listenToParent);
|