toList 方法

Future<List<T>> toList()

将此流的所有元素收集到一个 List 中。

创建一个 List<T> 并将此流的所有元素按顺序添加到列表中。当此流结束时,返回的 future 完成并带有该列表。

如果此流发出错误,返回的 future 完成并带有该错误,处理停止。

实现

Future<List<T>> toList() {
  List<T> result = <T>[];
  _Future<List<T>> future = new _Future<List<T>>();
  this.listen(
      (T data) {
        result.add(data);
      },
      onError: future._completeError,
      onDone: () {
        future._complete(result);
      },
      cancelOnError: true);
  return future;
}