从网络和数据库获取请求 rxJava

Posted

技术标签:

【中文标题】从网络和数据库获取请求 rxJava【英文标题】:Get request from network and dataBase rxJava 【发布时间】:2021-08-07 00:31:41 【问题描述】:

我会从数据库获取requset,同时从网络获取请求。从网络请求保存在DateBase中,我想但它不能正常工作

fun loadMovie(id: Int): Single<AboutMovie> = database.getMovie(id = id)
        .onErrorResumeNext( aboutMovieService.getMovie(movieId = id) )
        .subscribeOn(Schedulers.io())
        .observeOn(androidSchedulers.mainThread())

【问题讨论】:

【参考方案1】:

我不完全理解您想要实现的目标,但让我为您提供该代码。

fun loadMovie(id: Int): Single<Movie> =
    database.getMovie(id = id) // get cached entry from database
        .onErrorResumeNext  // if any error occured
            getNetworkMovie(id = id) // do network request
                .doOnSuccess  database.saveMovie(movie)  // on network request success save to database
        

【讨论】:

以上是关于从网络和数据库获取请求 rxJava的主要内容,如果未能解决你的问题,请参考以下文章

Retrofit2.0+RxJava网络请求异常统一处理

使用Retrofit2+RxJava2+ProtoBuf实现网络请求

RxJava和Retrofit的简单使用

从retrofit2和rxjava中的错误获取url

基于Retrofit+RxJava的Android分层网络请求框架

Glide工具类/OkGo网络请求/MVP请求数据/Retrofit+RxJava/ARouter/补间动画/轮播图等等等等等 记录一下~~