simple test

This commit is contained in:
2024-03-08 11:24:35 +09:00
parent c713b858c1
commit ca0bf296a6
+7
View File
@@ -117,16 +117,23 @@ export class PortRPCClient<RPCL extends RPCLists> {
public async callFunction<T extends keyof RPCL & string>(name: T, arg: Parameters<RPCL[T]>[0]): Promise<ReturnType<RPCL[T]>> {
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<ReturnType<RPCL[T]>>;
}
}