У меня есть Observable (который получает данные из сети). Проблема в том, что наблюдаемые могут быть быстрыми или медленными в зависимости от условий сети.RxJava Наблюдаемое минимальное время выполнения
Показывать виджет прогресса, когда наблюдаемый выполняется, и скрыть его, когда наблюдаемое завершено. Когда сеть быстро продвигается (появляется и исчезает). Я хочу установить минимальное время выполнения наблюдения на 1 секунду. Как я могу это сделать?
Оператор «Задержка» не является вариантом, поскольку он будет задерживаться даже при медленной сети.
1) Почему бы не использовать только «таймер»? 2) Обратите внимание, что сеть может выйти из строя до истечения таймаута. Если вы хотите, чтобы этот тайм-аут всегда использовался, попробуйте 'mergeDelayError', а затем используйте, например,' reduce', чтобы преобразовать два элемента в один. – marwinXXII
2) можно решить с помощью материализации() сразу после сети и dematerialize() после zipWith(). Не уверен относительно релевантности mergeDelayError() для предлагаемого решения - вы могли бы комментировать исходный вопрос или добавить его в качестве другого ответа. –
'mergeWithDelay' гарантирует, что если одна последовательность прерывается, другая последовательность либо успешно завершает, либо возвращает ошибку (и не отменяется досрочно) , Зависит от того, какой вопрос автор хочет реализовать. – marwinXXII