2017-02-24 16 views
0

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

現在我的問題是,這個事件可以被更頻繁地解僱,我需要知道這一點。我如何使其可觀察或可訂閱?

+0

「拋出一個事件」?請提供更具體的信息。什麼事件? DOM事件,可觀察,...什麼「第三方」? –

+0

對不起。這是我嵌入的腳本。一旦它被實例化,我調用'plugin.load();'然後我必須使用'plugin.onPluginReady(function(){/ *做魔術一旦事件被觸發* /})''。我的問題是,這個事件可能會被觸發多次,我希望每次都會觸發'plugin.onPluginReady()'。 – tschaka1904

+0

相同的代碼應該在Angular中工作 –

回答

1

你幾乎可以從任何東西中創建一個觀察值。你可以試試這個:

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

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