метод forEach
- void action(
- T element
Выполняет action для каждого элемента этого потока.
Завершает возвращённый Future, когда обработаны все элементы этого потока.
Если этот поток выдаёт ошибку или вызов action приводит к исключению, возвращённый Future завершается с этой ошибкой, и обработка прекращается.
Реализация
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.19.6/dart-async/Stream/forEach.html