quickjs/tests/test_worker_module.js

33 lines
737 B
JavaScript
Raw Normal View History

2020-09-07 01:10:15 +08:00
/* Worker code for test_worker.js */
import * as std from "std";
import * as os from "os";
var parent = os.Worker.parent;
function handle_msg(e) {
var ev = e.data;
// print("child_recv", JSON.stringify(ev));
switch(ev.type) {
case "abort":
parent.postMessage({ type: "done" });
parent.onmessage = null; /* terminate the worker */
2020-09-07 01:10:15 +08:00
break;
case "sab":
/* modify the SharedArrayBuffer */
ev.buf[2] = 10;
parent.postMessage({ type: "sab_done", buf: ev.buf });
break;
}
}
function worker_main() {
var i;
2024-02-10 23:18:11 +08:00
2020-09-07 01:10:15 +08:00
parent.onmessage = handle_msg;
for(i = 0; i < 10; i++) {
2024-02-10 23:18:11 +08:00
parent.postMessage({ type: "num", num: i });
2020-09-07 01:10:15 +08:00
}
}
worker_main();