Size: a a a

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

2020 June 01

i

iamthevoid in ReactiveX - русскоговорящее сообщество
<Sashok> -- Здравствуйте, это канал об аниме? -- Да. -- Как мне пропатчить KDE2 под FreeBSD?
источник

l

lenar in ReactiveX - русскоговорящее сообщество
там апи довольно простой. смотри и делай
источник
2020 June 02

A

Artur in ReactiveX - русскоговорящее сообщество
Привет!

Столкнулся с задачей: "результат от сервера отображать как минимум через 2 секунды после начала запроса".

То есть, если ответ пришёл через 2+ секунд - отправляем его дальше. Иначе - ждём разницу между текущим моментом и 2 секундами от начала.

Сходу, думаю создать Single.timer(2), и сделать зип с текущим стримом.

А есть ли какой-нибудь оператор для этого "из коробки"?
источник

I

Ivan in ReactiveX - русскоговорящее сообщество
Artur
Привет!

Столкнулся с задачей: "результат от сервера отображать как минимум через 2 секунды после начала запроса".

То есть, если ответ пришёл через 2+ секунд - отправляем его дальше. Иначе - ждём разницу между текущим моментом и 2 секундами от начала.

Сходу, думаю создать Single.timer(2), и сделать зип с текущим стримом.

А есть ли какой-нибудь оператор для этого "из коробки"?
debounce, throttle или delay
http://demo.nimius.net/debounce_throttle/
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Ivan
debounce, throttle или delay
http://demo.nimius.net/debounce_throttle/
Хм, не подумал в этом контексте применить. Спасибо, сейчас попробую
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Throttle отбрасывает элементы, это не тот случай. Запрос уходит один, Single
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Delay не подойдёт, тк я не знаю, на какое время нужно задержать результат, тк это зависит от того, когда он придёт. В общем случае, это [0, 2000] ms
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Не похоже, что и debounce тут подойдёт, тк это опять больше о backpressure. Здесь же 1 эвент, который надо или не надо задерживать
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Грубо говоря, там просто:

private fun sendCode(code: String): Observable<Effect> {
     return appointmentRepository.getAppointmentByConfirmationCode(code)


и нужно, чтобы результат пришёл не раньше чем через 2 сек
источник

I

Ivan in ReactiveX - русскоговорящее сообщество
Artur
Delay не подойдёт, тк я не знаю, на какое время нужно задержать результат, тк это зависит от того, когда он придёт. В общем случае, это [0, 2000] ms
delay эвент просто прокинет с задержкой.
а остальные, да, для Observable/Flowable
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Ivan
delay эвент просто прокинет с задержкой.
а остальные, да, для Observable/Flowable
У delay нет возможности передать ему лямбду для рассчёта задержки
источник

A

Artur in ReactiveX - русскоговорящее сообщество
в результате, если запрос итак долгий, допустим 2 секунды, то туда константно ещё 2 добавятся, вверно?

И будет 4, а нужно 2.

Ладно, пойду зип напишу, видимо, особо лучше не придумать.
источник

A

Artur in ReactiveX - русскоговорящее сообщество
Короче, вот этот вариант работает и выглядит не так плохо, как я ожидал
источник

D

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

D

Dmitry in ReactiveX - русскоговорящее сообщество
делаю поиск
как мне по уникальности юзать takeuntil ?
источник

D

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

D

Dmitry in ReactiveX - русскоговорящее сообщество
в тестах оказалось что это работает не так
источник

D

Dmitry in ReactiveX - русскоговорящее сообщество
тут на первый поиск будет сразу отммена
как подписаться на takeuntil после того как запустил search
источник
2020 June 03

PS

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

w

whoami in ReactiveX - русскоговорящее сообщество
Philip Stock
GIVEAWAY
А где Elon Musk?
источник