私はgoogle places
を取得しようとしていますが、リクエストごとに20個以上を取得することはできません。次のリクエストには前のリクエストのnextPageToken
が必要です。タイムリーな遅延を持つ複数のシーケンシャルオブザーバブル
問題:
Zip
オペレータはすぐにすべての要求を実行するが、各Observable
コールDelay
オペレータが待つことができますが、間に私は彼らが4 seconds
のシーケンシャルかつタイムリーに遅延する必要があります実際にはZip
を即座に実行して、遅れて与えられた時間の後に結果を返すことが望ましくない。
マイ出典:
LatLng some = new LatLng(31.471199, 74.234940);
Observable
.zip(getNearByPlaces(some), getNearByPlaces(some), getNearByPlaces(some), new Func3<List<PlaceInfo>, List<PlaceInfo>, List<PlaceInfo>, List<PlaceInfo>>() {
@Override
public List<PlaceInfo> call(List<PlaceInfo> placeInfos, List<PlaceInfo> placeInfos2, List<PlaceInfo> placeInfos3) {
placeInfos2.addAll(placeInfos3);
placeInfos.addAll(placeInfos2);
return placeInfos;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<PlaceInfo>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(List<PlaceInfo> placeInfos) {
adapter.setPlaces(placeInfos);
}
});
私は初心者だと約1週間前のためrxjavaを使い始めたので、あなたはミスを期待することができます。
こんにちは?????????? –