angular - fromEvent 不起作用, native 事件绑定(bind)是

标签 angular rxjs rxjs-fromevent streamable.com

我正在构建一个 video-player library for angular 。目前正在致力于 Streamable 集成。

我在 StackBlitz 中重现了这种情况,您可以在其中看到 player.on('ready', ...)console.warn,但看不到 fromEvent(player, 'ready') .subscribe(...)

const player = new playerjs.Player(iframe);

player.on('ready', () => console.warn('player.on(ready)'));
fromEvent(player, 'ready').subscribe(() => console.warn('fromEvent ready'));

有人知道为什么 fromEvent 在这种情况下不起作用吗?

类似示例(也使用 on):

我必须指出,同样的方法实际上适用于 Vidyard .

最佳答案

您可以尝试使用 fromEventPattern 函数,它允许您指定自定义添加和删除处理程序函数。

示例;

const addHandler = (handler) => player.on('ready', handler);
const removeHandler = (handler) => player.off('ready', handler);

fromEventPattern(addHandler, removeHandler).subscribe(() => console.warn('fromEventPattern ready'));

根据上面的内容,我使用 addHandler 为“ready”事件添加处理程序,并使用 removeHandler 删除处理程序。 fromEventPattern 使用这些函数创建一个 Observable,只要触发“ready”事件,该 Observable 就会发出事件。

关于angular - fromEvent 不起作用, native 事件绑定(bind)是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77425828/

相关文章:

javascript - .subscribe() 函数有什么作用?

javascript - 是否有更短的方法来提供 Observable onComplete 处理程序?

angular - 如何使用 rollup 和 terser 获取原始 TypeScript 代码的源映射?

angular - FormGroup 和 FormArray 有什么区别?什么时候用什么?

Angular:将数据传递给组件的最佳方式(对象与许多参数)

javascript - 将 HTML 中的组件标记链接到构造函数中传递的组件

javascript - 如何在对象方法上使用 fromEvent 而不是 bindCallback?