【问题标题】:can I pass viewmodel scope in another class? coroutines我可以在另一个类中传递视图模型范围吗?协程
【发布时间】:2019-07-02 04:23:48
【问题描述】:

我在 Pagging Library Jetpack 中使用了暂停功能。

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

【问题讨论】:

  • 为什么不直接通过数据源构造函数传递作用域?

标签: android kotlin-coroutines android-jetpack-navigation


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2018-01-18
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多