【发布时间】:2022-01-20 09:32:15
【问题描述】:
我正在寻找一种方法来链接多个流,就像在 RxJava 中链接操作一样。这是当前实现的代码:
driverPreferencesFlow
.stateIn(lifecycleScope)
.transform<DriverPreferences, Response<DriverCredentials>> { it ->
Log.d(App.TAG, "Got driver from cache, ask for driver from server")
repo.getDriver(it.driver.cell, it.driver.secret)
}
.onStart {
}
.onCompletion { e ->
}
.catch { e ->
Log.e(App.TAG, "Something went wrong on loading with driver", e)
Response.Error.Exception(e)
}
.collect { it ->
Log.d(App.TAG, "Got driver from server")
Log.d(App.TAG, "Collect new driver state ${it.javaClass}")
_newDriverState.value = it
}
在此实现中,调用了第二个操作/调用 (repo.getDriver()),但从未完成。似乎已暂停。
你有什么方法来完成类似的任务?
【问题讨论】: