api-amr/test_worker.ts
2025-06-04 19:15:02 +08:00

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 事件系统已初始化");