From 6d48c92eea6a9e7a69f890e2224f227490b16367 Mon Sep 17 00:00:00 2001 From: Sungyu Kang Date: Mon, 29 Apr 2024 01:47:43 +0900 Subject: [PATCH] fix: no error should occur when the timeout is set to 0 (#41) --- packages/web/src/linkBridge.ts | 50 ++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/packages/web/src/linkBridge.ts b/packages/web/src/linkBridge.ts index 453408e8..07e1154e 100644 --- a/packages/web/src/linkBridge.ts +++ b/packages/web/src/linkBridge.ts @@ -43,30 +43,32 @@ const createNativeMethod = (...args: unknown[]) => { const eventId = createRandomId(); - return Promise.race([ - createResolver({ - emitter, - methodName, - eventId, - evaluate: () => { - window.ReactNativeWebView?.postMessage( - JSON.stringify({ - type: "bridge", - body: { - method: methodName, - eventId, - args, - }, - }), - ); - }, - onFallback: () => { - onFallback?.(methodName, args); - }, - failHandler: throwOnError && new NativeMethodError(methodName), - }), - timeout(timeoutMs, throwOnError), - ]); + return Promise.race( + [ + createResolver({ + emitter, + methodName, + eventId, + evaluate: () => { + window.ReactNativeWebView?.postMessage( + JSON.stringify({ + type: "bridge", + body: { + method: methodName, + eventId, + args, + }, + }), + ); + }, + onFallback: () => { + onFallback?.(methodName, args); + }, + failHandler: throwOnError && new NativeMethodError(methodName), + }), + timeoutMs > 0 && timeout(timeoutMs, throwOnError), + ].filter(Boolean), + ); }; export const linkBridge = <