[英]ionic 2 / rxjs5 / cordova network plugin event observable
是否有可能使用cordova網絡連接插件中的fromEvent方法使rxjs可觀察。
我正在嘗試使用離子2。
我可以看到, cordova網絡連接插件中有兩個事件(在線/離線)。 但是如何用rxjs掛鈎呢?
看起來像這樣的東西:
const offline$ = Observable.fromEvent(CORDOVA_OFFLINE_EVENT);
offline$.subscribe(
function (connectionType) {
console.log("connectionType", JSON.stringify(connectionType));
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
}
);
您可以像文檔中所說的那樣( document.addEventListener("offline", onOffline, false);
),並且可以使用EventEmitter發出處理程序,或者如果您仍想使用observable,則可以將自定義事件發送到記錄並制作Observable.fromEvent(document, 'nameofevent')
例:
window.addEventListener('offline', this.onOffline);
onOffline(e) {
var event = new CustomEvent('onoffline');
event['offlineTimestamp'] = new Date()
document.dispatchEvent(event);
}
而不僅僅是this.networkObservable = Observable.fromEvent(document, 'onoffline');
或者不是分派CustomEvent,你可以擁有一個將在處理程序中發出的EventEmitter
networkEmitter = new EventEmitter();
window.addEventListener('offline', onOffline);
onOffline(e) {
this.networkEmitter.emit('wentOffline');
}
您可以訂閱EventEmitter或Observable :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.