diff --git a/packages/svelte/src/internal/client/reactivity/deriveds.js b/packages/svelte/src/internal/client/reactivity/deriveds.js index 5d5976a6c115..9beaaeca1634 100644 --- a/packages/svelte/src/internal/client/reactivity/deriveds.js +++ b/packages/svelte/src/internal/client/reactivity/deriveds.js @@ -184,6 +184,13 @@ export function async_derived(fn, location) { if (should_suspend) { boundary.update_pending_count(-1); if (!pending) batch.decrement(); + } else { + // Ensure effects depending on this async derived run promptly when we didn't suspend + // and there is no pending boundary — commit queued work immediately. + if (!pending) { + batch.flush(); + batch.deactivate(); + } } unset_context();