Size: a a a

ReactiveX - русскоговорящее сообщество

2020 August 03

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Как и onBackpressureBuffer
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Но именно после первой функции тебе нужно ждать
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
если сделать concatMapDelayError и убрать onBackpressureBuffer, то все работает
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
интересно что поломалось теперь
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Ну вообще звучит логично, смотри реализацию concatMapDelayError
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Думаю там ответ
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Откуда у тебя бэкпрешшур, если все элементы обрабатываются последовательно?
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
getUpdatesPack это стрим с сервера, первым элементом приходит пак на 100500 апдейтов, а потом по мере поступления
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
и по идее они могут приходить быстрее чем их обрабатывает приложение, вроде backpressure про это
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Я думаю решение должно быть таким, сейчас проверю
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Хм, интересно
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
сработало?
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Нет)
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Только не flatMapMaybe, а concatMapMaybe
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
в первом случае flatMap заменяется на concatMapDelayError по двум причинам
1) flatMap распараллеливает твои эмиты, а значит если их будет больше одного, то твоя цепочка сломается (backpressure), нужен concatMap
2) откладывать ошибку нужно там же, где она прилетает
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
Остальное, я думаю понятно
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
спасибо, попробую разобраться
источник

В

Валерий in ReactiveX - русскоговорящее сообщество
ты перенес doonnext внутрь contactMapDelayERror потому что вовне приходит сразу error ?
источник

i

iamthevoid in ReactiveX - русскоговорящее сообщество
каждый элемент мы раскладываем на составляющие, и делаем concatMapMaybe, чтобы они выполнялись последовательно
источник