提问人:MXC 提问时间:11/17/2023 最后编辑:MXC 更新时间:11/18/2023 访问量:29
如何在 viewModel 中使用 Kotlin suspend StateIn 函数
How to use Kotlin suspend StateIn function inside a viewModel
问:
我的 ViewModel 中有这个代码块:
val employeeState: StateFlow<EmployeeDataState> =
employeeRepository.fetch()
.map(EmployeeDataUiState::Success)
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(5_000),
initialValue = EmployeeDataState.Loading,
)
编辑:
suspend fun fetchEmployees() = flow {
try {
val result = employeesApiService.fetchEmployees()
emit(result)
} catch (e: Exception) {
//emit(emptyList())
}
}
employeeRepository.fetch()
是连接到改造 API 的挂起函数。
问题是我得到一个错误,该错误必须在协程范围内。我可以更改要使用的代码,但在这种情况下,我不确定如何使用函数。有关如何调用挂起方法的任何帮助。我还看到它有一个重载的方法,但现在确定我将如何使用它。fetch
viewModelScope.launch { ..}
stateIn
stateIn()
suspend
答: 暂无答案
评论