我在NetworkBoundResource.kt源代码中看到了来自Architecture-components-samples的90-97行:
is ApiEmptyResponse -> {
appExecutors.mainThread().execute {
// reload from disk whatever we had
result.addSource(loadFromDb()) { newData ->
setvalue(Resource.success(newData))
}
}
}
任何人都知道为什么在ApiEmptyResponse
情况下,它会重新加载数据库并尝试分派新的数据库源,而不使用函数参数{{1}中传递的“最新” dbSource
},就像private fun fetchFromNetwork(dbSource: LiveData<ResultType>) {...}
场景一样。