(e: EffectNode)
| 528 | } |
| 529 | |
| 530 | function run(e: EffectNode): void { |
| 531 | const flags = e.flags; |
| 532 | if ( |
| 533 | flags & ReactiveFlags.Dirty || |
| 534 | (flags & ReactiveFlags.Pending && checkDirty(e.deps!, e)) |
| 535 | ) { |
| 536 | ++cycle; |
| 537 | e.depsTail = undefined; |
| 538 | e.flags = ReactiveFlags.Watching | ReactiveFlags.RecursedCheck; |
| 539 | const prevSub = setActiveSub(e); |
| 540 | try { |
| 541 | (e as EffectNode).fn(); |
| 542 | } finally { |
| 543 | activeSub = prevSub; |
| 544 | e.flags &= ~ReactiveFlags.RecursedCheck; |
| 545 | purgeDeps(e); |
| 546 | } |
| 547 | } else { |
| 548 | e.flags = ReactiveFlags.Watching; |
| 549 | } |
| 550 | } |
| 551 | |
| 552 | function flush(): void { |
| 553 | try { |
no test coverage detected