RxCache icon indicating copy to clipboard operation
RxCache copied to clipboard

如何做到RxCache 先加缓存后请求?

Open KomoriWu opened this issue 6 years ago • 1 comments

有网络时,先显示缓存的数据,然后再走网络,更新页面和缓存。 thanks

KomoriWu avatar Dec 14 '18 08:12 KomoriWu

这样可以吗?

fun loadNews(): Observable<List<News>> {
    return Observable.create { emitter ->
        var result = mAppCache.newsList(mAppService.newsList(), EvictProvider(false)).blockingFirst()
        emitter.onNext(result.data)
        if (result.source != Source.CLOUD) {
            result = mAppCache.newsList(mAppService.newsList(), EvictProvider(true)).blockingFirst()
            emitter.onNext(result.data)  
        }
        emitter.onComplete()
    }
}

nemo-ex avatar Apr 29 '19 03:04 nemo-ex