这是检查应用程序在线或离线的代码:
this.online$ = Observable.merge(
Observable.of(navigator.onLine),
Observable.fromEvent(window, 'online').map(() => true),
Observable.fromEvent(window, 'offline').map(() => false)
)
this.online$.subscribe(isOnline=>{
if(isOnline){
console.log(isOnline);
}else{
console.log("you are offline");
console.log(isOnline);
}
});
但它总是返回 true,这意味着他们在线,但这是错误的结果。我关闭了系统互联网,他们不太可能返回相同的结果(正确)。
import { fromEvent, merge, of } from 'rxjs';
import { mapTo } from 'rxjs/operators';
this.online$ = merge(
of(navigator.onLine),
fromEvent(window, 'online').pipe(mapTo(true)),
fromEvent(window, 'offline').pipe(mapTo(false))
);
this.online$.subscribe((isOnline) =>{
if(isOnline) {
console.log(isOnline);
} else {
console.log("you are offline");
console.log(isOnline);
}
});
This will emit true or false based on the browsers online status.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)