Я пытаюсь получить google places
и, согласно ограничению на api, вы не можете получить более 20 мест за запрос, а следующий запрос требует nextPageToken
предыдущего запроса.Несколько последовательных наблюдений с своевременной задержкой между каждым из них
Проблема:
Zip
оператор выполняет все запросы сразу, но мне нужно, чтобы они были последовательной и своевременная задержкой4 seconds
между каждымObservable
вызоваDelay
оператор позволяет ждать, но что это действительно так, что он немедленно выполняет вызовы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);
}
});
Я новичок и начал использовать rxjava около 1 неделю назад, так что вы можете ожидать ошибки.
Hello ?????????? –