trigger function
void
trigger(
- void fn()
Notify all dependencies about changes
Implementation
@pragma('vm:prefer-inline')
@pragma('wasm:prefer-inline')
@pragma('dart2js:prefer-inline')
void trigger(void Function() fn) {
final sub = ReactiveNode(flags: ReactiveFlags.watching);
final prevSub = setActiveSub(sub);
try {
fn();
} finally {
activeSub = prevSub;
while (sub.deps != null) {
final link = sub.deps!;
final dep = link.dep;
unlink(link, sub);
if (dep.subs != null) {
propagate(dep.subs!);
shallowPropagate(dep.subs!);
}
}
if (batchDepth == 0) {
flushEffects();
}
}
}