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
toJS JSPromise<T>

Available on Future<T>, provided by the FutureOfJSAnyToJSPromise extension

A JSPromise that either resolves with the result of the completed Future or rejects with an object that contains its error.
no setter
toJS JSPromise<JSAny?>

Available on Future<void>, provided by the FutureOfVoidToJSPromise extension

A JSPromise that either resolves once this Future completes or rejects with an object that contains its error.
no setter

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
ignore() → void

Available on Future<T>, provided by the FutureExtensions extension

Completely ignores this future and its result.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onError<E extends Object>(FutureOr<T> handleError(E error, StackTrace stackTrace), {bool test(E error)?}) Future<T>

Available on Future<T>, provided by the FutureExtensions extension

Handles errors on this future.
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