diff --git a/packages/reactivity/src/effect.ts b/packages/reactivity/src/effect.ts index c769ba57d8c..11d83244289 100644 --- a/packages/reactivity/src/effect.ts +++ b/packages/reactivity/src/effect.ts @@ -258,12 +258,10 @@ export function startBatch(): void { * @internal */ export function endBatch(): void { - if (batchDepth > 1) { - batchDepth-- + if (--batchDepth > 0) { return } - batchDepth-- let error: unknown while (batchedEffect) { let e: ReactiveEffect | undefined = batchedEffect diff --git a/packages/reactivity/src/effectScope.ts b/packages/reactivity/src/effectScope.ts index 898a7cb0272..4fa9686083c 100644 --- a/packages/reactivity/src/effectScope.ts +++ b/packages/reactivity/src/effectScope.ts @@ -53,12 +53,13 @@ export class EffectScope { pause(): void { if (this._active) { this._isPaused = true + let i, l if (this.scopes) { - for (let i = 0, l = this.scopes.length; i < l; i++) { + for (i = 0, l = this.scopes.length; i < l; i++) { this.scopes[i].pause() } } - for (let i = 0, l = this.effects.length; i < l; i++) { + for (i = 0, l = this.effects.length; i < l; i++) { this.effects[i].pause() } } @@ -71,12 +72,13 @@ export class EffectScope { if (this._active) { if (this._isPaused) { this._isPaused = false + let i, l if (this.scopes) { - for (let i = 0, l = this.scopes.length; i < l; i++) { + for (i = 0, l = this.scopes.length; i < l; i++) { this.scopes[i].resume() } } - for (let i = 0, l = this.effects.length; i < l; i++) { + for (i = 0, l = this.effects.length; i < l; i++) { this.effects[i].resume() } }