Future forEach(void action(T element))

Executes action on each data event of the stream.

Completes the returned Future when all events of the stream have been processed. Completes the future with an error if the stream has an error event, or if action throws.

Source

Future forEach(void action(T element)) {
  _Future future = new _Future();
  StreamSubscription subscription;
  subscription = this.listen(
      (T element) {
        // TODO(floitsch): the type should be 'void' and inferred.
        _runUserCode<dynamic>(() => action(element), (_) {},
            _cancelAndErrorClosure(subscription, future));
      },
      onError: future._completeError,
      onDone: () {
        future._complete(null);
      },
      cancelOnError: true);
  return future;
}