Svetl9chok
Svetl9chok

Reputation: 175

Get request from network and dataBase rxJava

I would get requset from dataBase and same time get request from network .Request from network to save in DateBase,I thought but it doesn't work right

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

Upvotes: 0

Views: 170

Answers (1)

Romadro
Romadro

Reputation: 626

I'm not fully understand what you are trying to achieve, but let me provide you with that code.

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
        }

Upvotes: 1

Related Questions