Spec-Zone.ru › Dart 2

dart:async

Свойство isEmpty

Future<bool> isEmpty

Определяет, содержит ли этот поток какие-либо элементы.

Ожидает первого элемента этого потока, затем завершает возвращенное будущее значением false. Если этот поток завершается без выдачи каких-либо элементов, возвращенное будущее завершается значением true.

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

Эта операция подключается к этому потоку, и не-расширяемый поток не может быть повторно использован после проверки на пустоту.

Реализация

Future<bool> get isEmpty {
  _Future<bool> future = new _Future<bool>();
  StreamSubscription<T> subscription =
      this.listen(null, onError: future._completeError, onDone: () {
    future._complete(true);
  }, cancelOnError: true);
  subscription.onData((_) {
    _cancelAndValue(subscription, future, false);
  });
  return future;
}

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

Spec-Zone.ru

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