我可以在另一个 class 中传递视图模型范围吗?协程
can I pass viewmodel scope in another class? coroutines
我在 Pagging Library Jetpack 中使用了挂起功能。
在 loadAfter() 和 loadInitial() 中,我使用了改造挂起函数。为此,我需要使用不推荐的 GlobalScope,如何传递 viewModel 的范围?
我的解决方案通常是让调用挂起函数的函数也挂起,并且只在请求数据的 ViewModel
中进行 viewModelScope.launch(Dispatchers.IO)
之类的调用。这样 suspend 关键字在应用程序中传播了一点,但我也可以控制在 UI 级别停止此类后台操作,如果不再需要数据,我可以取消请求,因为用户切换了查看。
我在 Pagging Library Jetpack 中使用了挂起功能。
在 loadAfter() 和 loadInitial() 中,我使用了改造挂起函数。为此,我需要使用不推荐的 GlobalScope,如何传递 viewModel 的范围?
我的解决方案通常是让调用挂起函数的函数也挂起,并且只在请求数据的 ViewModel
中进行 viewModelScope.launch(Dispatchers.IO)
之类的调用。这样 suspend 关键字在应用程序中传播了一点,但我也可以控制在 UI 级别停止此类后台操作,如果不再需要数据,我可以取消请求,因为用户切换了查看。