Spec-Zone.ru › Dart 2

dart:async

свойство last

Future<T> last

Последний элемент этого потока.

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

Если этот поток пуст (событие done является первым событием), возвращённый объект Future завершается с ошибкой.

Реализация

Future<T> get last {
  _Future<T> future = new _Future<T>();
  late T result;
  bool foundResult = false;
  listen(
      (T value) {
        foundResult = true;
        result = value;
      },
      onError: future._completeError,
      onDone: () {
        if (foundResult) {
          future._complete(result);
          return;
        }
        try {
          throw IterableElementError.noElement();
        } catch (e, s) {
          _completeWithErrorCallback(future, e, s);
        }
      },
      cancelOnError: true);
  return future;
}

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

Spec-Zone.ru

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