toList方法
将此Stream中的所有元素收集到一个List
中。
创建一个List<T>
,并将此Stream中所有元素按到达顺序添加到列表中。当此Stream结束时,返回的future被排空,并带有那个列表。
如果此Stream引发错误,返回的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;
}