인터넷 연결을 확인하려고합니다. 연결이 끊어지면 언제든지 사용자에게 경고를 표시하고 새로 고침 버튼을 클릭하면 다시 연결을 확인하려고합니다 ... 그러나 연결이 끊어지면 구독을 취소하면 다시 구독 할 수 없습니다. 무엇이 잘못 되었나요?앵귤러 2 버튼을 통해 구독/구독 취소
constructor(private alertController: AlertController){
let connection = this.checkConnection().subscribe(data => {
let alert = this.alertController.create({
title: 'Error',
subTitle: "You lost connection !",
buttons: [ {
text: 'Refresh',
handler:() => {
connection.subscribe();
}}]
});
if(data == false){
alert.present();
connection.unsubscribe();
}
}
);
checkConnection() {
return Observable
.interval(500)
.map(() => {
return navigator.onLine;
});
}
UPDATE :
let refresh$ = new Subject();
let connection$ = refresh$.mergeMap(() => {
return Observable
.interval(50)
.map(() => navigator.onLine)
.filter(onLine => !onLine)
.take(1);
});
refresh$.next();
connection$.subscribe(data => {
console.log(data)
})
다시 구독 하시겠습니까? – echonax
처리기 :() => { connection.resubscribe(); }}]하지만 작동하지 않습니다. 어떤 생각으로 어떻게 다시 구독 할 수 있습니까? –
'resubscribe'에 대한 API를 보여줄 수 있습니까? 그 방법을 어디에서 찾았습니까? – echonax