skipWhile 方法
- bool test(
- T element
在满足 test
条件时跳过从该流中接收数据事件。
返回一个与该流具有相同事件的流,但数据事件不会发出,直到数据事件使 test
返回非 true
值或 test
调用抛出异常。如果调用抛出异常,则错误会作为错误事件而不是数据事件在返回的流上发出。否则,使 test
返回非真值的那个事件会作为第一个数据事件发出。
返回的流不修改错误和完成事件。
如果此流是广播流,则返回的流也是广播流。对于广播流,事件仅从返回的流被监听的时间开始测试。
示例
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);
}