Spec-Zone.ru › Dart 2

dart:async

метод drain<E>

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

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

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

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

В случае события done future завершается с указанным 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.19.6/dart-async/Stream/drain.html

Spec-Zone.ru

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