Свойство isEmpty
Future<bool> isEmptyСообщает, содержит ли этот поток какие-либо элементы.
Прекращает прослушивание потока после получения первого элемента.
Внутри метод отменяет свою подписку после получения первого элемента. Это означает, что потоки с одной подпиской (не транслируемые) закрываются и не могут быть повторно использованы после вызова этого геттера.
Исходный код
Future<bool> get isEmpty {
_Future<bool> future = new _Future<bool>();
StreamSubscription subscription;
subscription = this.listen(
(_) {
_cancelAndValue(subscription, future, false);
},
onError: future._completeError,
onDone: () {
future._complete(true);
},
cancelOnError: true);
return future;
}
© 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/isEmpty.html