Ich versuche, google places
zu bekommen und wie pro API Einschränkung können Sie nicht mehr als 20 Plätze pro Anfrage erhalten, und nächste Anfrage erfordern nextPageToken
der vorherigen Anfrage.Mehrere sequentielle Observables mit rechtzeitiger Verzögerung zwischen jedem von ihnen
Problem:
Zip
Betreiber alle Anfragen sofort ausgeführt, aber ich brauche sie sequentielle und rechtzeitige Verzögerung von4 seconds
zwischen jedemObservable
AnrufDelay
Operator sein kann warten, aber was es wirklich ist, dass es sofortZip
Anrufe ausführt und mir Ergebnisse nach der gegebenen Zeit in der Verzögerung zurückgibt, die nicht gewünscht wird.
Meine Quelle:
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);
}
});
ich Anfänger bin und begann etwa 1 Woche vor mit rxjava, so können Sie Fehler erwarten.
Hallo ?????????? –