ZonedFuture<T> class
A wrapper around an existing Future that processes all events received
within a specific zone, instead of the default behavior of processing them
in the zone that the then
originated.
This can be used to retain the Future API without causing frameworks like Angular to capture events.
A simple example: void example() { var future = new Future.value(1); var frameworkZone = Zone.current.fork(); frameworkZone.run(() { expect(Zone.current, frameworkZone); }); var outerZone = Zone.current; future = ZonedFuture(future, outerZone.run); frameworkZone.run(() { future.then((_) { expect(Zone.current, outerZone); }); }); }
- Implemented types
-
- Future<
T>
- Future<
- Available extensions
Constructors
-
ZonedFuture(Future<
T> _innerFuture, RunInZoneFn _runInZoneFn)
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
asStream(
) → Stream< T> -
Creates a Stream containing the result of this future.
override
-
catchError(
Function onError, {bool test(Object error)?}) → Future< T> -
Handles errors emitted by this Future.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
then<
S> (FutureOr< S> onValue(T value), {Function? onError}) → Future<S> -
Register callbacks to be called when this future completes.
override
-
timeout(
Duration timeLimit, {dynamic onTimeout()?}) → Future< T> -
Stop waiting for this future after
timeLimit
has passed.override -
toString(
) → String -
A string representation of this object.
inherited
-
whenComplete(
dynamic action()) → Future< T> -
Registers a function to be called when this future completes.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited