gts13
01/05/2023, 8:53 AMsuspend fun getOffers(
categories: List<Category>
): Flow<Offer> = categories
.asFlow()
.flatMapMerge(concurrency = 20) {
suspend { api.requestOffers(it) }.asFlow()
}
CLOVIS
01/05/2023, 9:03 AMflatMapMerge
gts13
01/05/2023, 9:22 AMgts13
01/05/2023, 9:23 AMsuspend fun getOffers(
categories: List<Category>
): Flow<Offer> = categories
.asFlow()
.buffer()
.flatMapMerge(concurrency = 20) {
suspend { api.requestOffers(it) }.asFlow()
}
.map {
// here I still see one result, not a list of results
}
MR3Y
01/05/2023, 9:30 AMsuspend fun getOffers(
categories: List<Category>
): Flow<Offer> = coroutineScope {
categories
.map {
async {
api.requestOffers(it)
}
}.awaitAll()
}.asFlow()
gts13
01/05/2023, 10:20 AM