我有这项服务,每5秒向我的服务器询问一次数据,它工作正常。 但是,如果连接断开,我应该告诉我的组件在重新建立连接之前没有互联网连接。这就是我的问题所在,似乎在我的回复中,即使我没有任何互联网连接,我也可以取消上一个请求并启动下一个请求。
在尝试重新连接并获取数据的活动期间,如何告诉组件连接丢失?
getOdometerData(id: any) {
const interval = 5000;
const source = Observable.timer(0, interval);
const url = `${this.api + '/' + id}`;
var getdata = this.http.get(url)
}).timeout(interval).retryWhen(errors => errors.delay(interval));
return source.switchMap(result => getdata).publishReplay(1).refCount();
}
答案 0 :(得分:0)
您可以使用navigator
来检查Internet连接:
尝试这样的事情:
checkOnline() {
if (navigator.onLine) {
this.data = true
} else {
this.data = false
alert("There is no connection")
}
}
然后做任何想做的事。