如何观察Angular2中的第三方事件?

如何观察Angular2中的第三方事件?

问题描述:

我有一个第三方插件,它抛出一个我能赶上使用事件:plugin.onSuperAwesomeEvent(function() { /*do magic once event is fired */})如何观察Angular2中的第三方事件?

现在我的问题是,这个事件可以被更频繁地解雇,我需要知道这一点。我如何使其可观察或可订阅?

+0

“抛出一个事件”?请提供更具体的信息。什么事件? DOM事件,可观察,...什么“第三方”? –

+0

对不起。这是我嵌入的脚本。一旦它被实例化,我调用'plugin.load();'然后我必须使用'plugin.onPluginReady(function(){/ *做魔术一旦事件被触发* /})''。我的问题是,这个事件可能会被触发多次,我希望每次都会触发'plugin.onPluginReady()'。 – tschaka1904

+0

相同的代码应该在Angular中工作 –

你几乎可以从任何东西中创建一个观察值。你可以试试这个:

var pluginEventStream = Rx.Observable.create(function(observer) { 
    plugin.onPluginReady(function(evt) { observer.next(evt) }) 
}); 

pluginEventStream.subscribe(function(evt) { 
    // do magic 
});