diff --git a/packages/ddp-client/client/queueStubsHelpers.js b/packages/ddp-client/client/queueStubsHelpers.js index 9b3d405e4d..acad7e58ac 100644 --- a/packages/ddp-client/client/queueStubsHelpers.js +++ b/packages/ddp-client/client/queueStubsHelpers.js @@ -20,10 +20,11 @@ export const loadAsyncStubHelpers = () => { queue = queue.finally(() => { fn(resolve, reject); - return promise.stubPromise; + + return promise.stubPromise?.catch(() => {}); }); - promise.finally(() => { + promise.catch(() => {}).finally(() => { queueSize -= 1; if (queueSize === 0) { Meteor.connection._maybeMigrate(); @@ -98,9 +99,11 @@ export const loadAsyncStubHelpers = () => { serverPromiseResolver(applyAsyncPromise.serverPromise); hasStub = !!applyAsyncPromise.stubPromise; if (hasStub) { - applyAsyncPromise.stubPromise.finally(() => { - finished = true; - }); + applyAsyncPromise.stubPromise + .catch(() => {}) + .finally(() => { + finished = true; + }); } applyAsyncPromise .then((result) => { diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 58a25a8f70..ab1619a7f0 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -651,7 +651,7 @@ export class Connection { if (o.exception) { throw o.exception; } - return o.stubReturnValue + return o.stubReturnValue; }); // this avoids attribute recursion promise.serverPromise = new Promise((resolve, reject) =>