blob: a486732b65220a2485e877aae4e8b40ce1720b02 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
const fixtureFile = await Deno.makeTempFile();
let prefix = "file://";
if (Deno.build.os == "windows") {
prefix += "/";
}
const fixtureUrl = new URL(`${prefix}${fixtureFile}`);
let resolve;
let p = new Promise((res) => resolve = res);
await Deno.writeTextFile(fixtureUrl, `self.postMessage("hello");\n`);
const workerA = new Worker(fixtureUrl.href, { type: "module" });
workerA.onmessage = (msg) => {
console.log(msg.data);
resolve();
};
await p;
workerA.terminate();
p = new Promise((res) => resolve = res);
await Deno.writeTextFile(fixtureUrl, `self.postMessage("goodbye");\n`);
const workerB = new Worker(fixtureUrl.href, { type: "module" });
workerB.onmessage = (msg) => {
console.log(msg.data);
resolve();
};
await p;
workerB.terminate();
|