我可以在另一个 class 中传递视图模型范围吗?协程

can I pass viewmodel scope in another class? coroutines

我在 Pagging Library Jetpack 中使用了挂起功能。

在 loadAfter() 和 loadInitial() 中,我使用了改造挂起函数。为此,我需要使用不推荐的 GlobalScope,如何传递 viewModel 的范围?

我的解决方案通常是让调用挂起函数的函数也挂起,并且只在请求数据的 ViewModel 中进行 viewModelScope.launch(Dispatchers.IO) 之类的调用。这样 suspend 关键字在应用程序中传播了一点,但我也可以控制在 UI 级别停止此类后台操作,如果不再需要数据,我可以取消请求,因为用户切换了查看。