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


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