run<U> method
Runs a function within this scope's context.
Parameters:
fn: Function to execute within the scope
Returns: The result of the function execution
Example:
final scope = EffectScope();
final result = scope.run(() {
final signal = Signal(42);
return signal.value;
});
Implementation
@pragma('vm:prefer-inline')
@pragma('wasm:prefer-inline')
@pragma('dart2js:prefer-inline')
@override
U run<U>(U Function() fn) {
final prevContext = setActiveContext(this);
try {
return super.run(fn);
} finally {
setActiveContext(prevContext);
}
}