From d24bf3a797bc35b2f40cdf0884e33bd16c4d55ca Mon Sep 17 00:00:00 2001 From: denihs Date: Tue, 25 Oct 2022 09:23:27 -0300 Subject: [PATCH] In the client, don't wait if the stub doesn't return a promise --- packages/ddp-client/common/livedata_connection.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index c30ff6f48d..868201c43d 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -695,7 +695,14 @@ export class Connection { invocation ); try { - stubOptions.stubReturnValue = await stubInvocation(); + const resultOrThenable = stubInvocation(); + const isThenable = + resultOrThenable && typeof resultOrThenable.then === 'function'; + if (isThenable) { + stubOptions.stubReturnValue = await resultOrThenable; + } else { + stubOptions.stubReturnValue = resultOrThenable; + } } finally { DDP._CurrentMethodInvocation._set(currentContext); }