diff --git a/@sammo/server/src/worker_util.ts b/@sammo/server/src/worker_util.ts index 4011cee..7334730 100644 --- a/@sammo/server/src/worker_util.ts +++ b/@sammo/server/src/worker_util.ts @@ -117,16 +117,23 @@ export class PortRPCClient { public async callFunction(name: T, arg: Parameters[0]): Promise> { const id = this.prevID++; + let done = false; + const waiter = new Promise((resolve, reject) => { const call: RawRPCCall = [name, id, arg]; const callBuffer = ArrayBufferFromString(JSON.stringify(call)); this.waiters.set(id, [resolve, reject]); + done = true; this.port.postMessage(callBuffer, [callBuffer]); }); await delay(0); + if(!done){ + throw new Error("RPC: callFunction failed"); + } + return waiter as Promise>; } }