Whether this stream contains any elements.
Waits for the first element of this stream, then completes the returned
future with true
.
If the stream ends without emitting any elements, the returned future is
completed with false
.
If the first event is an error, the returned future is completed with that error.
This operation listens to the stream, and a non-broadcast stream cannot be reused after checking whether it is empty.
Source
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; }