drain метод
Future<E> drain<E>(Отбрасывает все данные из потока, но сигнализирует о завершении или возникновении ошибки.
При подписке с помощью drain, cancelOnError будет true. Это означает, что будущее завершится с первой ошибкой в потоке, а затем отменит подписку.
В случае done события будущее завершается с заданным futureValue.
Исходный код
Future<E> drain<E>([E futureValue]) =>
listen(null, cancelOnError: true).asFuture<E>(futureValue);
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Stream/drain.html