skipWhile 方法

Stream<T> skipWhile(
  1. bool test(
    1. T element
    )
)

在满足测试条件时跳过此流的数据事件。

返回一个与该流具有相同事件但排除了数据事件的流。当数据事件导致测试结果为非 truetest 调用抛出异常时,测试失败。如果调用抛出异常,错误事件而不是数据事件会在返回的流中发出;否则,当 test 返回非 true 时,发出的事件成为第一个数据事件。

返回的流提供了未修改的错误和完成事件。

如果此流是广播流,则返回的流也是广播流。对于广播流,事件只有在返回的流被监听时才会进行检查。

示例

final stream = Stream<int>.periodic(const Duration(seconds: 1), (i) => i)
    .take(10)
    .skipWhile((x) => x < 5);
stream.forEach(print); // Outputs events: 5, ..., 9.

实现

Stream<T> skipWhile(bool test(T element)) {
  return new _SkipWhileStream<T>(this, test);
}