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