Метод forEach
Future forEach(Выполняет action для каждого события данных потока.
Завершает возвращаемое Future, когда все события потока обработаны. Завершает Future с ошибкой, если в потоке есть событие ошибки или если action вызывает ошибку.
Исходный код
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;
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Stream/forEach.html