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