我正在为我的应用程序使用ionic 3,我正在使用cordova-plugin-network-information进行android设备中的Internet连接检测事件,我可以订阅它,但不能取消订阅。
我曾尝试使用rxjs,Subscription从可观察对象退订,但未获得预期结果。
以下是我的代码:
import {Subscription } from 'rxjs/Subscription';
private _netConnection : Subscription = new Subscription();
_netConnection = this.network.onConnect().subscribe(()=>{
alert("connected");
})
_netConnection.unsubscribe();
但是_netConnection.unsubscribe()上方的enter code here
无法正常工作,因为当连接可用时,我仍然会收到警报。
答案 0 :(得分:1)
使用直到...
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
private finalize = new Subject<void>();
this.network.onConnect().pipe(takeUntil(finalise)).subscribe(()=>{
alert("connected");
finalise.next();
});
答案 1 :(得分:0)
我认为您应该在_netConnection.unsubscribe()
中写上setTimeout
;
像这样setTimeout(()=> _netConnection.unsubscribe())
;