Bun Worker 线程 #
概述 #
Bun 支持 Web Workers API,可以进行多线程编程。
基本用法 #
主线程 #
typescript
// main.ts
const worker = new Worker(new URL("./worker.ts", import.meta.url));
worker.onmessage = (event) => {
console.log("Received:", event.data);
};
worker.postMessage({ task: "compute", data: [1, 2, 3, 4, 5] });
Worker 线程 #
typescript
// worker.ts
self.onmessage = (event) => {
const { task, data } = event.data;
if (task === "compute") {
const result = data.reduce((sum: number, n: number) => sum + n, 0);
self.postMessage({ result });
}
};
运行 #
bash
bun run main.ts
错误处理 #
typescript
const worker = new Worker("./worker.ts");
worker.onerror = (error) => {
console.error("Worker error:", error);
};
worker.onmessageerror = (error) => {
console.error("Message error:", error);
};
终止 Worker #
typescript
const worker = new Worker("./worker.ts");
// 终止 Worker
worker.terminate();
下一步 #
现在你已经了解了 Bun Worker,继续学习其他高级特性。
最后更新:2026-03-29