我正在构建一个 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/