如何在不使用地图的情况下将流转换为另一种类型?
How to convert a stream to another type without using map?
我有这个代码:
Stream<int> get fooStream async* {
barStream.listen((_) async* {
int baz = await getBaz();
yield baz; // Does not work
});
}
如何从另一个流中 return Stream<int>
?
注意:如果我使用map
来转换流,那么我将不得不return Stream<Future<int>>
,但我想要至 return Stream<int>
。我也不想为这个小东西使用 rxdart
pacakge。
使用asyncMap
。
barStream.asyncMap((e) => getBaz())
使用await for
Stream<int> get fooStream async* {
await for (final item in barStream) {
yield await getBaz();
}
}
我有这个代码:
Stream<int> get fooStream async* {
barStream.listen((_) async* {
int baz = await getBaz();
yield baz; // Does not work
});
}
如何从另一个流中 return Stream<int>
?
注意:如果我使用map
来转换流,那么我将不得不return Stream<Future<int>>
,但我想要至 return Stream<int>
。我也不想为这个小东西使用 rxdart
pacakge。
使用
asyncMap
。barStream.asyncMap((e) => getBaz())
使用
await for
Stream<int> get fooStream async* { await for (final item in barStream) { yield await getBaz(); } }