Spec-Zone.ru › Dart 2

dart:async

Метод forEach

Future forEach(
  1. void action(
    1. 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API