Свойство last
Future<T> lastВозвращает последний элемент потока.
Если ошибка произошла до первого события данных, результирующее future завершается с этой ошибкой.
Если этот поток пустой (событие завершения происходит до первого события данных), результирующее future завершается с StateError.
Исходный код
Future<T> get last {
_Future<T> future = new _Future<T>();
T result = null;
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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-async/Stream/last.html