From 330bb014ca813b7e20a47289cc6077974bd19349 Mon Sep 17 00:00:00 2001 From: daiwei Date: Tue, 8 Jul 2025 09:53:18 +0800 Subject: [PATCH] fix(scheduler): improve error handling in job flushing --- 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 a75eba300f7..c5b1b23ff7c 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) } }