以某种方式可以使用fromEvent method中的cordova network connection plugin来观察rxjs。
我正在尝试使用离子2。
我可以看到cordova network connection plugin中有两个事件(在线/离线)。但是如何用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');
}
);
答案 0 :(得分:0)
您可以像文档中所说的那样(document.addEventListener("offline", onOffline, false);
),并且可以使用EventEmitter发出处理程序,或者如果您仍想使用observable,则可以将自定义事件发送到文档并生成{{ 1}}
示例:
Observable.fromEvent(document, 'nameofevent')
而不仅仅是window.addEventListener('offline', this.onOffline);
onOffline(e) {
var event = new CustomEvent('onoffline');
event['offlineTimestamp'] = new Date()
document.dispatchEvent(event);
}
或者不是分派CustomEvent,你可以拥有一个将在处理程序中发出的EventEmitter
this.networkObservable = Observable.fromEvent(document, 'onoffline');
您可以订阅EventEmitter或Observable:)