Условный отказ RxJs и выборка

Условное добавление времени устранения дребезга к потоку на основе значения из другого потока

const configuration$ = new Subject().asObservable();
const animation$ = new BehaviorSubject(false).asObservable;

вышеприведенное исходит от какого-то сервиса

configuration$.pipe(debounceTime(CONSTANTS.DEBOUNCE),sample(interval(CONSTANTS.SAMPLE)));

configuration.subscribe(data=> {
   // do the stuff; 
});


Если анимация $ имеет истинное значение, то debounceTime, sample следует пропустить.

Как я могу извлечь значение из анимации $ и применить логику if else.

Если бы я только мог

 configuration$.pipe(
    animation$ ? 
    pipe(debounceTime(CONSTANTS.DEBOUNCE),sample(interval(CONSTANTS.SAMPLE))) :
    of
);

person vito    schedule 31.03.2019    source источник
comment
Я думаю, что вы просите добавить animation$ в поток перед debounceTime?   -  person dook    schedule 31.03.2019
comment
если анимация $ имеет истинное значение, то не устранять дребезг   -  person vito    schedule 31.03.2019
comment
Ах, у меня было это задом наперед. Я изменил свой ответ ниже   -  person dook    schedule 31.03.2019


Ответы (1)


person    schedule
comment
спасибо за ответ, я отредактировал ваш ответ, чтобы использовать карту в конце. - person vito; 31.03.2019
comment
если анимация имеет значение false, то следует применить debounce, в противном случае debounce пропустить - person vito; 31.03.2019
comment
это неверно, поток конфигурации должен быть отклонен на основе потока animation$ - person vito; 31.03.2019
comment
Тогда я не понимаю вашего вопроса. Итак, 1) debounceTime не должен выполняться, если animation$ поток возвращает false 2) debounceTime должен выполняться, если animation$ поток возвращает true 3) sample должен выполняться всегда Правильно ли я понимаю? - person dook; 31.03.2019
comment
если анимация $ имеет значение true, debounceTime и образец не должны выполняться, если анимация $ имеет значение false, выполните и debounceTime, и образец - person vito; 31.03.2019