From 94b2ddc6f97170f4169d9d81b963c6bcaab08be2 Mon Sep 17 00:00:00 2001 From: edison Date: Wed, 9 Jul 2025 08:44:24 +0800 Subject: [PATCH] fix(scheduler): improve error handling in job flushing (#13587) --- packages/runtime-core/src/scheduler.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/runtime-core/src/scheduler.ts b/packages/runtime-core/src/scheduler.ts index a75eba300f..c5b1b23ff7 100644 --- a/packages/runtime-core/src/scheduler.ts +++ b/packages/runtime-core/src/scheduler.ts @@ -114,12 +114,18 @@ export function queueJob(job: SchedulerJob): void { } } +const doFlushJobs = () => { + try { + flushJobs() + } catch (e) { + currentFlushPromise = null + throw e + } +} + function queueFlush() { if (!currentFlushPromise) { - currentFlushPromise = resolvedPromise.then(flushJobs).catch(e => { - currentFlushPromise = null - throw e - }) + currentFlushPromise = resolvedPromise.then(doFlushJobs) } } -- 2.47.2