length 属性

Future<int> 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;
}