Spec-Zone.ru › Dart 2

dart:async

Метод drain<E>

Future<E> drain<E>(
  1. [E? futureValue]
)

Отбрасывает все данные из этого потока, но сигнализирует, когда он завершен или произошла ошибка.

При подписке с помощью drain, cancelOnError будет true. Это означает, что будущее будет завершено первой ошибкой в этом потоке, а затем отменит подписку.

Если этот поток излучает ошибку, возвращаемое будущее завершается этой ошибкой, и обработка останавливается.

В случае done события будущее завершается заданным futureValue.

futureValue не должно быть опущено, если null не может быть присвоено E.

Пример:

final result = await Stream.fromIterable([1, 2, 3]).drain(100);
print(result); // Outputs: 100.

Реализация

Future<E> drain<E>([E? futureValue]) {
  if (futureValue == null) {
    futureValue = futureValue as E;
  }
  return listen(null, cancelOnError: true).asFuture<E>(futureValue);
}

© 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/drain.html

Spec-Zone.ru

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