executeFuture<T> method
void
executeFuture<T>(
- Future<
T> future, { - BroadcastStream<
T> ? broadcastStream, - StreamController<
T> ? controller,
this method execute future and add result in your controller
Implementation
void executeFuture<T>(Future<T> future,
{BroadcastStream<T>? broadcastStream, StreamController<T>? controller}) {
//CHECK INPUT (ONE SOURCE AND ONE DESTINATION)
assert((broadcastStream == null && controller != null) ||
(broadcastStream != null && controller == null));
//ADD ONE OF THE TWO CONTROLLERS
dynamic _controller;
if (broadcastStream != null) {
_controller = broadcastStream.controller;
} else if (controller != null) {
_controller = controller;
}
controllers.add(_controller);
//EXECUTE FUTURE
future
.then((result) => _controller.add(result))
.catchError((error) => _controller.addError(error));
}