當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。