diff --git a/packages/svelte/src/internal/client/reactivity/deriveds.js b/packages/svelte/src/internal/client/reactivity/deriveds.js index 7f0d0934c4..42449e9227 100644 --- a/packages/svelte/src/internal/client/reactivity/deriveds.js +++ b/packages/svelte/src/internal/client/reactivity/deriveds.js @@ -129,7 +129,10 @@ export function async_derived(fn, location) { return; } - if (promise === current) { + if (promise === current && !signal.equals(v)) { + // TODO this restores `active_fork`, but it will only be nulled out + // if the boundary is reached in `process_effects`... are there + // cases where it wouldn't be? restore(); from_async_derived = null;