我的应用程序使用MVVM模式,并希望对协程使用viewmodelscope,现在我遇到了一些与viewmodelscope相关的问题
在应用程序中,有两个片段,每个片段都有一个 View 模型。从片段1导航到片段2,在第二个片段,用户将访问API。如果响应为假,则用户将再次返回第一个片段,并需要修正其输入。然后用户可以再次导航以分割两个片段并再次点击该API。
问题是在第二次尝试时,应用程序无法使用该API,因为协程已在第一次尝试时在 View 模型的ondestroy状态下被取消(由于 View 模型自身CMIIW的行为,它已自动取消)。由于我使所有viewmodel单例,所以我猜在第二次尝试时,被取消的viewmodelscope再次被调用并且不能运行协程(因为它在第一次尝试中已被取消)。
我的问题是,如果我继续对 View 模型使用单例,是否还有其他方法可以在第二次尝试中重置viewmodelscope,以便它可以再次运行以命中API?
最佳答案
关于android - kotlin-android-viewModelScope在单例viewmodel中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60768691/