Кажется, что debounceTime
игнорирует внутренние вызовы своих субъектов next
метод:
var subject: Subject<number> = new Subject<number>();
subject.pipe(
tap((a) => console.log("tab:" + a)),
debounceTime(300),
).subscribe((a) => {
console.log(a);
subject.next(100)
});
subject.next(19);
subject.next(20);
приведенный выше код должен создавать бесконечный цикл - но это не так:
tab:19
tab:20
20
tab:100
если я добавлю delay(1)
к трубе, она будет работать как положено:
subject.pipe(
tap((a) => console.log("tab:" + a)),
debounceTime(300),
delay(1)
).subscribe((a) => {
console.log(a);
subject.next(100)
});
я что-то упустил?
Редактировать : добавлен пример: https://typescript -fbt2mn.stackblitz.io