diff --git a/packages/svelte/src/internal/client/reactivity/batch.js b/packages/svelte/src/internal/client/reactivity/batch.js index f1f20164e3..89bad947c7 100644 --- a/packages/svelte/src/internal/client/reactivity/batch.js +++ b/packages/svelte/src/internal/client/reactivity/batch.js @@ -283,19 +283,15 @@ export class Batch { if (!skip && effect.fn !== null) { if (is_branch) { effect.f ^= CLEAN; - } else if ((flags & EFFECT) !== 0) { - if ((flags & CLEAN) === 0) { + } else if ((flags & CLEAN) === 0) { + if ((flags & EFFECT) !== 0) { this.#effects.push(effect); - } - } else if (async_mode_flag && (flags & RENDER_EFFECT) !== 0) { - if ((flags & CLEAN) === 0) { + } else if (async_mode_flag && (flags & RENDER_EFFECT) !== 0) { this.#render_effects.push(effect); - } - } else if (is_dirty(effect)) { - if ((flags & ASYNC) !== 0) { + } else if ((flags & ASYNC) !== 0) { var effects = effect.b?.pending ? this.#boundary_async_effects : this.#async_effects; effects.push(effect); - } else { + } else if (is_dirty(effect)) { if ((effect.f & BLOCK_EFFECT) !== 0) this.#block_effects.push(effect); update_effect(effect); }