我的应用程序使用MVVM模式,并且希望对协程使用viewmodelscope,现在我面临与viewmodelscope相关的一些问题
在应用程序中,有两个片段,每个片段都有一个视图模型。从片段1导航到片段2,在第二个片段,用户将访问API。如果响应为假,则用户将再次返回第一个片段,并需要修正其输入。然后用户可以再次导航以分割两个片段并再次点击API。
问题是第二次尝试,应用程序无法使用该API,因为协程已在第一次尝试时在视图模型的ondestroy状态下被取消(由于视图模型自身CMIIW的行为,它已自动取消)。而且由于我使所有viewmodel单身,所以我猜在第二次尝试时,被取消的viewmodelscope再次被调用并且不能运行协程(因为它在第一次尝试中已被取消)。
我的问题是,如果我继续对视图模型使用单例,是否还有其他方法可以在第二次尝试中重置viewmodelscope,使其可以再次运行以命中API?