refactor: simplify logic handling worker message

This commit is contained in:
鲁树人 2023-05-18 00:21:11 +01:00
parent 7df50c7c75
commit 0b7b72c8ef

View File

@ -68,18 +68,20 @@ export class WorkerServerBus {
onmessage = async (e: MessageEvent<WorkerClientRequestPayload>) => { onmessage = async (e: MessageEvent<WorkerClientRequestPayload>) => {
const { id, action, payload } = e.data; const { id, action, payload } = e.data;
const handler = this.handlers.get(action); const handler = this.handlers.get(action);
let result = null;
let error = null;
if (!handler) { if (!handler) {
postMessage({ id, result: null, error: new Error('Handler missing for action ' + action) }); error = new Error('Handler missing for action ' + action);
return; } else {
try {
result = await handler(payload);
} catch (e: unknown) {
error = e;
}
} }
let result = undefined;
let error = undefined;
try {
result = await handler(payload);
} catch (e: unknown) {
error = e;
}
postMessage({ id, result, error }); postMessage({ id, result, error });
}; };
} }