【发布时间】:2025-12-26 11:15:06
【问题描述】:
最近我更新了我的ViewModel 以使用新的viewModelScope。从它的实现中,我看到Dispatchers.Main.immediate 被设置为viewModelScope 的默认CoroutineDispatcher。
因此,当在viewModelScope.launch 中打印当前的Thread 时,它会给出Thread[main,5,main]
但这是我的问题。虽然这在主线程中运行,但以下代码对我来说是有效的,它执行网络调用。
viewModelScope.launch {
userRepo.login(email, password)
}
这里userRepo.login(email, password)是suspend函数,它调用Retrofitsuspend函数。
如果我的当前线程是主线程,那么它是如何工作的?
【问题讨论】:
标签: android kotlin retrofit kotlin-coroutines android-viewmodel