diff --git a/packages/router/src/router.ts b/packages/router/src/router.ts index ed45df2e36e..9f1c755d574 100644 --- a/packages/router/src/router.ts +++ b/packages/router/src/router.ts @@ -697,9 +697,8 @@ export class Router { // Make sure that the error is propagated even though `processNavigations` catch // handler does not rethrow - return promise.catch((e: any) => { - return Promise.reject(e); - }); + // perf: Use `.bind` to avoid holding the other closures in this scope while this promise is unsettled. + return promise.catch(Promise.reject.bind(Promise)); } }