diff --git a/packages/qwik/src/core/shared/platform/platform.ts b/packages/qwik/src/core/shared/platform/platform.ts index 9e0797d52d4..41ce1271f82 100644 --- a/packages/qwik/src/core/shared/platform/platform.ts +++ b/packages/qwik/src/core/shared/platform/platform.ts @@ -39,9 +39,13 @@ export const createPlatform = (): CorePlatform => { }); }, nextTick: (fn) => { - return new Promise((resolve) => { + return new Promise((resolve, reject) => { setTimeout(() => { - resolve(fn()); + try { + resolve(fn()); + } catch (err) { + reject(err); + } }); }); }, diff --git a/packages/qwik/src/server/platform.ts b/packages/qwik/src/server/platform.ts index 17025f85992..402ae715963 100644 --- a/packages/qwik/src/server/platform.ts +++ b/packages/qwik/src/server/platform.ts @@ -59,11 +59,15 @@ export function createPlatform( return Promise.resolve(); }, nextTick: (fn) => { - return new Promise((resolve) => { + return new Promise((resolve, reject) => { // Do not use process.nextTick, as this will execute at same priority as promises. // We need to execute after promises. setTimeout(() => { - resolve(fn()); + try { + resolve(fn()); + } catch (err) { + reject(err); + } }); }); }, diff --git a/packages/qwik/src/testing/platform.ts b/packages/qwik/src/testing/platform.ts index 37cc36c2a52..2b21d9af070 100644 --- a/packages/qwik/src/testing/platform.ts +++ b/packages/qwik/src/testing/platform.ts @@ -60,11 +60,15 @@ function createPlatform() { return render.promise; }, raf: (fn) => { - return new Promise((resolve) => { + return new Promise((resolve, reject) => { // Do not use process.nextTick, as this will execute at same priority as promises. // We need to execute after promises. setTimeout(() => { - resolve(fn()); + try { + resolve(fn()); + } catch (err) { + reject(err); + } }); }); },