drain<E>方法

Future<E> drain<E>([
  1. 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);
}