假设我有一个暂停函数,首先调用一个暂停函数以显示一个确认对话框,然后(假设来自用户的肯定确认)调用一个暂停函数来修改viewmodel(也许执行db写入)。
此挂起函数由具有自己的生命周期和(可能)相应的CoroutineScope的Android Fragment触发。视图模型还具有自己的CoroutineScope。
那要用哪个呢?如果在显示对话框时碎片被破坏了,我想应该取消作业。但是,如果在对话框确认完成后发生这种情况,则该工作应继续进行viewmodel更改(只要viewmodel范围仍处于活动状态)。