当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart Stream.takeWhile用法及代码示例


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.dev大神的英文原创作品 takeWhile method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。