Я пытаюсь добиться следующего поведения: у меня есть наблюдаемый источник, который излучает каждую секунду. Я пытаюсь игнорировать значения в течение некоторого периода (10 секунд) времени, если испускается другое наблюдаемое (mySubject
) значение. Вот для чего я пришел:
this.source.pipe(
takeUntil(this.mySubject),
repeatWhen((observable) => observable.pipe(delay(10000))),
tap((x) => console.log(x)),
).subscribe();
Теперь он прекращает излучение источника на 10 секунд при каждом mySubject
излучении.
Проблема в том, что он мне нужен, если другое излучение mySubject
для сброса «счетчика» 10 секунд и игнорирования в течение еще 10 секунд, ничего не испуская при этом.
Как мне этого добиться?