Size: a a a

Kotlin Community

2020 July 16

OV

Oleg Vasylenko in Kotlin Community
Спс нашёл
источник

Y

Yaroslav in Kotlin Community
всем привет
источник

Y

Yaroslav in Kotlin Community
на котлине пишу довольно давно, начал изучать coroutines.Flow и меня прям в тупик ставит АПИ
источник

Y

Yaroslav in Kotlin Community
есть у кого-нить опыт?
источник

AN

Alexander Nozik in Kotlin Community
Yaroslav
есть у кого-нить опыт?
Какой ответ вы хотите получить? У кого-нибудь есть. В этом сайте и авторы и идеологи системы есть. Надо только вопрос корректно составить
источник

Y

Yaroslav in Kotlin Community
это круто) тогда вопрос
источник

Y

Yaroslav in Kotlin Community
есть тормозной бэк, я с клиента делаю запрос, надо чтобы при получении ответа http code > 299 повторно отрпвить запрос, и так пока не получу валидный http code
источник

AN

Alexander Nozik in Kotlin Community
Yaroslav
есть тормозной бэк, я с клиента делаю запрос, надо чтобы при получении ответа http code > 299 повторно отрпвить запрос, и так пока не получу валидный http code
Для начала посмотрите, может здесь что подойдет: https://flowmarbles.com/
источник

Y

Yaroslav in Kotlin Community
пробую сделать с retryWhen { e, i -> } но HttpException там не тусуется, получается ее отловить через CoroutineExceptionHandler только
источник

AN

Alexander Nozik in Kotlin Community
Yaroslav
пробую сделать с retryWhen { e, i -> } но HttpException там не тусуется, получается ее отловить через CoroutineExceptionHandler только
А, ну да retry. А в чем проблема внутри try/catch сделать?
источник

AN

Alexander Nozik in Kotlin Community
Насколько я понял, делаете https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/retry.html и обработку на конкретное исключение
источник

Y

Yaroslav in Kotlin Community
моя проблема в том, что там исключение не появляется, клиент крашится, смог поймать исключение только в .launch(CoroutineExceptionHandler { e -> вот тут да})
источник

Y

Yaroslav in Kotlin Community
но это очень поздно
источник

AN

Alexander Nozik in Kotlin Community
Yaroslav
моя проблема в том, что там исключение не появляется, клиент крашится, смог поймать исключение только в .launch(CoroutineExceptionHandler { e -> вот тут да})
Ну это уже зависит от того, как ваш клиент работает. Что за клиент?
источник

Y

Yaroslav in Kotlin Community
мне надо в слое бизнес логики по хорошему ретраить уже и на обзерв слать эмиты промежуточные
источник

Y

Yaroslav in Kotlin Community
клиент андроид апп
источник

AN

Alexander Nozik in Kotlin Community
Ну вот в доке к retry вроде довольно подробно все прописано.
источник

Y

Yaroslav in Kotlin Community
окей, попробую еще раз
источник

Y

Yaroslav in Kotlin Community
спасибо
источник

Y

Yaroslav in Kotlin Community
понял свою проблему с неуловимым исключением - This operator (retry) is transparent to exceptions that occur in downstream flow and does not catch exceptions that are thrown to cancel the flow.
источник