Я хочу скачать файл из нескольких возможных мест. Каждое местоположение имеет три возможных результата:
- ошибка (например, тайм-аут, 404)
- успех с новым файлом (200)
- без изменений (304)
Я хочу сделать различие между:
- все загрузки не удалось
- все загрузки завершились неудачно или возвращены без изменений
- У меня есть хотя бы один успех
Мой (псевдо) код:
Flowable.just(url1, url2...)
.parallel()
.runOn(Schedulers.computation())
.map( ...http download )
.filter( ... status code == 200 )
.map( ... parse content ...)
.reduce( ..find newest file..)
Моя проблема: я не могу отличить ошибки от неизмененных.
Что бы я хотел получить в результате:
A Может быть, это дает мне следующие звонки:
- onError: если все URL-адреса потерпели неудачу
- onNext: если хотя бы один URL вернул 200
- onComplete: если хотя бы один URL имеет , а не вернул ошибку
Возможно ли это?