Мне нужно выполнить следующее:
- Вызвать бэкэнд-API, который возвращает целое число.
- Как только этот вызов завершится, вызовите бэкэнд, чтобы получить списокПредметы.Поскольку бэкэнд может возвращать большой набор, возвращается только 50 элементов, и необходимо выполнить несколько вызовов для получения следующих пакетов из 50.
- Когда пакет элементов получен, он должен уведомить пользовательский интерфейс.Пакеты обрабатываются как единое целое (это просто какой-то список).Пакетные элементы не выводятся по потоку индивидуально.
Было бы неплохо, если бы я мог создать один поток Rx, который обрабатывает все это.Первый вызов API для получения целого числа не связан с другим вызовом API, который получает элементы, хотя я должен получить целочисленное значение, прежде чем продолжить вызов для получения элементов.
Все вызовы API выполняются с использованием Retrofit.
Одна из проблем, с которыми я сталкиваюсь - это циклы.После завершения вызова для получения предметов я предполагаю, что должен избавиться от наблюдаемого и затем вернуться к началу.Но где именно начало в этом потоке.Вызов для получения целого числа выполняется только один раз, в то время как вызов для получения элементов повторяется до тех пор, пока все элементы не будут возвращены.Я знаю, что все предметы были возвращены, когда было возвращено менее 50.
Есть предложения о том, как это сделать?