Метод forEach
- void action(
- T элемент
Выполняет action над каждым элементом этого потока.
Завершает возвращаемое Future, когда все элементы этого потока будут обработаны.
Если этот поток генерирует ошибку или вызов action вызывает ошибку, возвращаемое будущее завершается с этой ошибкой, и обработка останавливается.
Реализация
Future forEach(void action(T element)) {
_Future future = new _Future();
StreamSubscription<T> subscription =
this.listen(null, onError: future._completeError, onDone: () {
future._complete(null);
}, cancelOnError: true);
subscription.onData((T element) {
_runUserCode<void>(() => action(element), (_) {},
_cancelAndErrorClosure(subscription, future));
});
return future;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-async/Stream/forEach.html