drain<E> 方法
- E? futureValue
丢弃此流上的所有数据,但在完成或发生错误时发出信号。
使用drain订阅时,cancelOnError将为true。这意味着future将完成于此流上的第一个错误,然后取消订阅。
如果此流发出错误,则返回的future以该错误完成,并停止处理。
在done
事件的情况下,future以给定的futureValue
完成。
如果null不能分配给E
,则不得省略futureValue
。
示例
final result = await Stream.fromIterable([1, 2, 3]).drain(100);
print(result); // Outputs: 100.
实现
Future<E> drain<E>([E? futureValue]) {
if (futureValue == null) {
futureValue = futureValue as E;
}
return listen(null, cancelOnError: true).asFuture<E>(futureValue);
}