length 属性
此数据流中元素的数量。
等待此数据流的所有元素。当此数据流结束时,返回的 future 以元素的数量完成。
如果此数据流产生一个错误,返回的 future 以该错误完成,并停止处理。
此操作监听此数据流,找到了长度后不能重复使用非广播数据流。
实现
Future<int> get length {
_Future<int> future = new _Future<int>();
int count = 0;
this.listen(
(_) {
count++;
},
onError: future._completeError,
onDone: () {
future._complete(count);
},
cancelOnError: true);
return future;
}