dart:async
庫中Stream.fromFutures
的用法介紹如下。
用法:
Stream<T>.fromFutures(
Iterable<Future<T>> futures
)
從一組期貨中創建一個single-subscription 流。
流以期貨完成的順序報告流上期貨的結果。每個future 都提供一個數據事件或一個錯誤事件,具體取決於future 的完成方式。
如果調用Stream.fromFutures
時某些期貨已經完成,它們的結果將以某種未指定的順序發出。
當所有期貨都完成後,流將關閉。
如果futures
為空,則流將盡快關閉。
例子:
Future<int> waitTask() async {
await Future.delayed(const Duration(seconds: 2));
return 10;
}
Future<String> doneTask() async {
await Future.delayed(const Duration(seconds: 5));
return 'Future complete';
}
final stream = Stream<Object>.fromFutures([doneTask(), waitTask()]);
stream.listen(print, onDone: () => print('Done'), onError: print);
// Outputs:
// 10 after 'waitTask' finished.
// "Future complete" after 'doneTask' finished.
// "Done" when stream completed.
相關用法
- Dart Stream.fromFuture用法及代碼示例
- Dart Stream.fromIterable用法及代碼示例
- Dart Stream.fold用法及代碼示例
- Dart Stream.firstWhere用法及代碼示例
- 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.take用法及代碼示例
- Dart Stream.every用法及代碼示例
- Dart Stream.lastWhere用法及代碼示例
- Dart Stream.contains用法及代碼示例
- Dart Stream.eventTransformed用法及代碼示例
- Dart Stream.drain用法及代碼示例
- Dart Stream.empty用法及代碼示例
- Dart Stream.multi用法及代碼示例
- Dart Stream.distinct用法及代碼示例
- Dart Stream.timeout用法及代碼示例
- Dart Stream.transform用法及代碼示例
- Dart Stream.singleWhere用法及代碼示例
- Dart Stream.skipWhile用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 Stream<T>.fromFutures constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。