From ec8bddc8ce93eef885e445dfd10a75d8cb201932 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 12 May 2025 14:53:32 -0400 Subject: [PATCH] tweak --- packages/svelte/src/internal/client/runtime.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index 87a69cb851..4c6996db39 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -833,15 +833,16 @@ export function flushSync(fn) { result = fn(); } - flush_tasks(); + while (true) { + flush_tasks(); + + if (queued_root_effects.length === 0) { + return /** @type {T} */ (result); + } - while (queued_root_effects.length > 0) { is_flushing = true; flush_queued_root_effects(); - flush_tasks(); } - - return /** @type {T} */ (result); } finally { is_flushing_sync = previously_flushing_sync; }