Я ищу альтернативный способ обработки ошибок, возникающих в наблюдаемой последовательности.
У меня есть запрос к базе данных, который часто просто выдает DaoError.notFound (то есть данные не найдены).
Затем я выполняю запрос Remote API, который сохраняет новые данные в базу данных, и это должно заставить CoreData выдавать новые данные через первую наблюдаемую последовательность. Но это не происходит, несмотря на использование RxCoreData. И причина в том, что первый Observable завершается с ошибкой.
Я могу использовать:
catchErrorJustReturn ([]) , но он генерирует пустой массив элементов и завершает наблюдаемую последовательность, больше элементов не будет генерироваться через эту последовательность.
retry () но повторные попытки зависают, что также не является идеальным решением, так как при отсутствии элементов я просто хочу отобразить пустое табличное представление без элементов.
Идеальным решением будет просто каким-то образом отобразить или исправить ошибки на пустые массивы, но сохранить наблюдаемый поток живым. Но этого не происходит.
Самым простым решением будет замена DaoError.notFound на возвращение пустого массива, но странно, что я не могу сохранить ошибку и при некотором использовании создать бесконечный поток и игнорировать ошибки.