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


Dart Stream.take用法及代码示例


dart:async 库中Stream.take 方法的用法介绍如下。

用法:

Stream<T> take(
   int count   
)

最多提供此流的第一个 count 数据事件。

返回一个流,该流发出与该流同时侦听时相同的事件,直到该流结束或它已发出 count 数据事件,此时返回的流已完成。

如果此流在完成之前产生的数据事件少于count,则返回的流也会如此。

在侦听返回的流时开始侦听此流,并在收到第一个 count 数据事件时停止侦听。

这意味着如果这是一个single-subscription(非广播)流,则在收听返回的流之后不能重用它。

如果这是广播流,则返回的流是广播流。在这种情况下,事件仅从收听返回的流的时间开始计算。

例子:

final stream =
    Stream<int>.periodic(const Duration(seconds: 1), (i) => i)
        .take(60);
stream.forEach(print); // Outputs events: 0, ... 59.

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 take method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。