【发布时间】:2021-05-07 19:30:17
【问题描述】:
我只是想知道使用一个而不是另一个有什么优势。
@HostListener( 'window:resize' )
doSomething(): void {
// ...throttle with setTimeout and clearTimeout maybe...
}
和
fromEvent( window, 'resize' ).pipe(
// ... debounceTime, takeUntil etc.
).subscribe( () => {
doSomething();
})
这真的只是一个上下文问题(例如,使用 pipe() 更容易处理事件流),还是可观察的更“现代”,还是根本不重要?
谢谢!
【问题讨论】:
-
这个问题主要是自以为是。与
HostListener装饰器相比,IMO 主观上,fromEvent提供了更强大的事件处理方式。此外,HostListener是特定于 Angular 的,而fromEvent理论上可以包含在任何使用 RxJS 的 JS 应用程序中。请参阅here 进行快速比较。 -
@MichaelD 你知道,这有一个密切的原因......
标签: angular observable settimeout