Напишите метод расширения Rx «ThrottleUntil» - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь реализовать окно поиска с автоматическим заполнением при поддержке сетевого источника. Во-первых, я хочу ограничить, чтобы запрос запускался только тогда, когда пользователь приостанавливает запись, это делается с помощью Throttle. Во-вторых, я также хочу ограничить, что предыдущий запрос должен завершиться перед отправкой нового и значение не должно быть потеряно, что-то вроде ThrottleUntil. (который должен работать, пока наблюдаемое не даст какого-либо значения)

но я сам не могу найти решение.

IObservable<bool> isLoading;
IObservable<string> inputObservable;
inputObservable.Throttle(TimeSpan.FromMilliseconds(250)).ThrottleUntil(isLoading.Where(v=>!v)).Subscribe(/*run loading*/);

Здесь я пропускаю расширение ThrottleUntil или аналог.

Возможно ли это реализовать?

...