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
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