RxJava + Retrofit + Kotlinでチェーンリクエストを学習しようとしています。 チュートリアルは、RxJava 1.xを使用していたので、RxJava 2.xで再実装しようとすると、.zip()を取得できませんでした。RxJava 1.x .zip()がRxJava 2.0で動作しません
スターウォーズAPIを使用してムービーのリストを返す単純なアプリです。ムービーごとに文字を取得します。
fun loadMoviesFull(): Observable<Movie> {
return service.listMovies()
.flatMap { filmResults -> Observable.from(filmResults.results) }
.flatMap { film ->
Observable.zip(
Observable.just(Movie(film.title, film.episodeId, ArrayList<Character>())),
Observable.from(film.personUrls)
.flatMap { personUrl ->
service.loadPerson(Uri.parse(personUrl).lastPathSegment)
}
.map { person ->
Character(person!!.name, person.gender)
}
.toList(),
{ movie, characters ->
movie.characters.addAll(characters)
movie
})
}
}
チュートリアルの全体の実装を確認したい場合は、このリンク(コメントはポルトガル語である)である:私はできないので、私はちょうど、IRの構文を知りたい http://www.nglauber.com.br/2017/03/rxjava-kotlin-retrofit-star-wars-api.html
2.xで実装します。
ありがとう、私は悪い英語には申し訳ありません。