我有以下merge(),我合并事件以向我的API发送单个请求:
merge(
this.sort.sortChange,
this.paginator.page,
this.statusSelect.selectionChange,
this.searchFilterEvent$
)
现在,前三个参数是Angular Material Directives发出的事件,最后一个this.searchFilterEvent$
是从fromEvent
创建的Observable,它是输入上的keyup事件。我希望在每个事件(searchFilterEvent除外)上执行以下代码,但只在searchEventFilter上使用debounceTime,这样我就不会在每个keyup事件上发送请求。
这是可能的还是我必须将它们分开并编写两次在事件上执行的代码(或者在函数中并且当然要调用函数)?
答案 0 :(得分:3)
你可以用一个debounceTime
链接一个Observable,剩下的就是:
merge(
this.sort.sortChange,
this.paginator.page,
this.statusSelect.selectionChange,
this.searchFilterEvent$.pipe(debounceTime(...)),
)