我有一個服務名爲verifyData。我需要撥打這個服務N次。使用Retrofit和RXJava的多個請求
- 改造2
- RXJava
服務
@FormUrlEncoded
@POST("verifyData")
Observable<Adeudos> Adeudos(
@Field("id") int id_user
);
簡單的通話
Observable<Adeudos> respuesta = services.verifyData(1);
respuesta.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Adeudos>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Adeudos adeudos) {
}
});
我需要執行此 「方法」 usign這陣
List<String> ids = new ArrayList(); // 1,2,3,4,5,6,7
SOLUTION
在我gradle這個添加retrolambda
的Java
Observable.from(ids)
.flatMap(s -> services.verifyData(ids).subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Adeudos>() {
@Override
public void onCompleted() {
Log.e("Completed :"," Completed\n");
}
@Override
public void onError(Throwable e) {
Log.e("SplashInteractorImpl : ",e.getMessage()+"\n");
}
@Override
public void onNext(Adeudos adeudos) {
Log.e("SplashInteractorImpl : ",adeudos.getMessage()+"\n");
}
});
你應該可以用'Observable.zip()'做到這一點' –