dart:async
库中Stream.takeWhile
方法的用法介绍如下。
用法:
Stream<T> takeWhile(
bool test(
T element
)
)
test
成功时转发数据事件。
返回一个提供与此流相同的事件的流,直到 test
因数据事件而失败。当此流完成或此流首次发出失败的数据事件时,返回的流已完成 test
。
如果test
调用返回非true
值或抛出异常,则认为调用失败。如果 test
调用抛出,错误将作为返回流上的最后一个事件发出。
在接受元素后停止收听此流。
在这些元素之后,该方法在内部取消其订阅。这意味着single-subscription(非广播)流已关闭,并且在调用此方法后无法重用。
如果此流是,则返回的流是广播流。对于广播流,仅从收听返回的流时开始测试事件。
例子:
final stream = Stream<int>.periodic(const Duration(seconds: 1), (i) => i)
.takeWhile((event) => event < 6);
stream.forEach(print); // Outputs events: 0, ..., 5.
相关用法
- Dart Stream.take用法及代码示例
- Dart Stream.timeout用法及代码示例
- Dart Stream.transform用法及代码示例
- Dart Stream.fromFutures用法及代码示例
- Dart Stream.fold用法及代码示例
- Dart Stream.map用法及代码示例
- Dart Stream.asBroadcastStream用法及代码示例
- Dart Stream.handleError用法及代码示例
- Dart Stream.where用法及代码示例
- Dart Stream.reduce用法及代码示例
- Dart Stream.join用法及代码示例
- Dart Stream.error用法及代码示例
- Dart Stream.periodic用法及代码示例
- Dart Stream.every用法及代码示例
- Dart Stream.lastWhere用法及代码示例
- Dart Stream.contains用法及代码示例
- Dart Stream.eventTransformed用法及代码示例
- Dart Stream.firstWhere用法及代码示例
- Dart Stream.drain用法及代码示例
- Dart Stream.empty用法及代码示例
- Dart Stream.multi用法及代码示例
- Dart Stream.distinct用法及代码示例
- Dart Stream.singleWhere用法及代码示例
- Dart Stream.fromFuture用法及代码示例
- Dart Stream.skipWhile用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 takeWhile method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。