run method
Run an effect with the given flags
Implementation
void run(JEffectNode e) {
final flags = e.flags;
if (flags & 16 /** ReactiveFlags.dirty */ != 0 ||
(flags & 32 /** ReactiveFlags.pending */ != 0 &&
checkDirty(e.deps!, e))) {
++cycle;
e.depsTail = null;
e.flags = 6 /* ReactiveFlags.watching | ReactiveFlags.recursedCheck */;
// only effect and watcher;
final prevSub = setActiveSub(e);
try {
e.effectFn();
} finally {
activeSub = prevSub;
e.flags &= ~4 /* ReactiveFlags.recursedCheck */;
purgeDeps(e);
}
} else {
e.flags = 2 /* ReactiveFlags.watching */;
}
}