Skip to content

Commit 65fca80

Browse files
committed
refactor(subscriber): streamline dirty level handling in update logic
1 parent 9c04551 commit 65fca80

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/system.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -298,21 +298,17 @@ export namespace Subscriber {
298298
while (link !== undefined) {
299299
const dep = link.dep;
300300
if ('update' in dep) {
301-
const dirtyLevel = dep.dirtyLevel;
301+
let dirtyLevel = dep.dirtyLevel;
302302

303303
if (dirtyLevel === DirtyLevels.MaybeDirty) {
304304
if (depth >= 4) {
305305
resolveMaybeDirtyNonRecursive(dep);
306306
} else {
307307
resolveMaybeDirty(dep, depth + 1);
308308
}
309-
if (dep.dirtyLevel === DirtyLevels.Dirty) {
310-
dep.update();
311-
if (sub.dirtyLevel === DirtyLevels.Dirty) {
312-
break;
313-
}
314-
}
315-
} else if (dirtyLevel === DirtyLevels.Dirty) {
309+
dirtyLevel = dep.dirtyLevel;
310+
}
311+
if (dirtyLevel === DirtyLevels.Dirty) {
316312
dep.update();
317313
if (sub.dirtyLevel === DirtyLevels.Dirty) {
318314
break;

0 commit comments

Comments
 (0)