【问题标题】:Data are not being downloaded after migrate to androidx迁移到androidx后没有下载数据
【发布时间】:2019-12-10 03:20:24
【问题描述】:

迁移到 androidx 后,我基于 LiveData 和 GlobalScope.launch 的房间存储库停止工作。

我将 GlobalScope.launch 更改为 GlobalScope.async,因为我遇到了 observeForever 异常(但我没有使用此方法)。

        val success = MediatorLiveData<SomeDataModel>()
        try {
            GlobalScope.async(Dispatchers.IO) {
                success.addSource(myDao.getAll()) {
                    it?.let {
                        success.postValue(it)
                    }
                }
            }
        } catch (e: Exception) {
            e.printStackTrace()
        }
        return success
    }

I want to point that before migrating to androidX this code worked.

【问题讨论】:

    标签: android-room android-livedata androidx global-scope


    【解决方案1】:

    异步块中的代码只有在您 await 其他地方时才会执行。如果您来自 JavaScript 世界,这会让您感到惊讶,因为在 JavaScript 中,async 代码在 awaited 之前执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-12
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      相关资源
      最近更新 更多