rx-java
개조 및 RxJava
수색…
개조 및 RxJava 설정
Retrofit2는 여러 개의 플러그 가능한 실행 메커니즘을 지원하며 그 중 하나는 RxJava입니다.
RxJava와 함께 개조를 사용하려면 먼저 Retrofit RxJava 어댑터를 프로젝트에 추가해야합니다.
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
추가 장착 인스턴스를 만들 때 어댑터를 추가해야합니다.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com")
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
인터페이스에서 API를 정의 할 때 반환 유형은 Observable 여야합니다. 예 :
public interface GitHubService {
@GET("users/{user}/repos")
Observable<List<Repo>> listRepos(@Path("user") String user);
}
Observable 대신 Single 을 사용할 수도 있습니다.
시리얼 요청하기
직렬 요청을 할 때 RxJava가 유용합니다. 한 요청의 결과를 사용하여 다른 요청을 만들려면 flatMap 연산자를 사용할 수 있습니다.
api.getRepo(repoId).flatMap(repo -> api.getUser(repo.getOwnerId())
.subscribe(/*do something with the result*/);
병렬 요청하기
zip 연산자를 사용하여 병렬로 요청하고 결과를 결합 할 수 있습니다. 예 :
Observable.zip(api.getRepo(repoId1), api.getRepo(repoId2), (repo1, repo2) ->
{
//here you can combine the results
}).subscribe(/*do something with the result*/);
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow