簡體   English   中英

離子2 / rxjs5 / cordova網絡插件事件可觀察

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM