Метод drain< E>
- [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