55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
// test_worker.ts
|
|
// 测试 Worker
|
|
|
|
import { createWorkerEventHelper } from "./worker_event_helper.ts";
|
|
|
|
// 创建事件助手
|
|
const eventHelper = createWorkerEventHelper("testWorker");
|
|
|
|
console.log("🧪 测试 Worker 已启动");
|
|
|
|
// 添加事件监听器
|
|
eventHelper.addEventListener("ping", (event) => {
|
|
console.log("🏓 Test Worker 收到 ping:", event.data);
|
|
|
|
// 回复 pong
|
|
eventHelper.dispatchEvent("pong", {
|
|
message: "Pong from test worker!",
|
|
originalPing: event.data.message,
|
|
timestamp: Date.now()
|
|
});
|
|
});
|
|
|
|
eventHelper.addEventListener("test-event", (event) => {
|
|
console.log("🧪 Test Worker 收到测试事件:", event.data);
|
|
});
|
|
|
|
// 定期发送心跳事件
|
|
let heartbeatCount = 0;
|
|
setInterval(() => {
|
|
heartbeatCount++;
|
|
eventHelper.dispatchEvent("worker-heartbeat", {
|
|
workerName: "testWorker",
|
|
count: heartbeatCount,
|
|
timestamp: Date.now()
|
|
});
|
|
}, 3000);
|
|
|
|
// 延迟发送测试事件
|
|
setTimeout(() => {
|
|
eventHelper.dispatchEvent("test-event", {
|
|
message: "Hello from test worker!",
|
|
timestamp: Date.now()
|
|
});
|
|
}, 1000);
|
|
|
|
// 监听关闭信号
|
|
self.addEventListener("message", (event: MessageEvent) => {
|
|
const message = event.data;
|
|
if (message.type === "shutdown") {
|
|
console.log("🔚 Test Worker 收到关闭信号");
|
|
self.close();
|
|
}
|
|
});
|
|
|
|
console.log("✅ 测试 Worker 事件系统已初始化");
|