我正在嘗試從流中獲取結果,從房間資料庫中檢索串列,然后嘗試將串列與另一個資料庫操作中的另一個流映射,但我不知道這是否可能以及是否可行是,怎么做,這個時候我正在嘗試做這樣的東西
fun retrieveOperationsWithDues(client: Long): Flow<List<ItemOperationWithDues>> {
return database.operationsDao.getOperationCliente(client)
.flatMapMerge {
flow<List<ItemOperationWithDues>> {
it.map { itemOperation ->
database.duesDao.cuotasFromOperation(client, itemOperation.id).collectLatest { listDues ->
itemOperation.toItemOperationWithDues(listDues)
}
}
}
}
}
但看起來好像沒有從收藏中檢索任何東西。感謝您提供任何幫助的建議
uj5u.com熱心網友回復:
我認為您不需要在塊中使用flow構建器。flatMapMerge對于每一個,您都可以從 DaoitemOperation呼叫函式,該函式回傳并用于組合檢索到的流:cuotasFromOperatio()Flowcombine()
fun retrieveOperationsWithDues(client: Long): Flow<List<ItemOperationWithDues>> {
return database.operationsDao.getOperationCliente(client)
.flatMapMerge {
val flows = it.map { itemOperation ->
database.duesDao.cuotasFromOperation(client, itemOperation.id).map { listDues ->
itemOperation.toItemOperationWithDues(listDues)
}
}
combine(flows) { flowArray -> flowArray.toList() }
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481596.html
