Dart FutureクラスのasStream()メソッドについてメモ書き。
asStream()はFuture型をStream型に変換するメソッド。
StreamはFutureと同様にdart:asyncライブラリに含まれる非同期型のクラスで、リスナーを通してイベントを受信できる。
コーディングで確認。
Future<int> testFuture() async {
int? i;
await Future.delayed(Duration(seconds: 2), () {
i = 3;
});
return Future.value(i);
}
void main() {
// Future型をasStream()メソッドでStream型に変換し、リスナーで受け取った値を表示
Stream strTest = testFuture().asStream();
strTest.listen((event) {
print(event);
});
}
実行結果。
3
コメント