这是检查应用程序在线或离线的代码:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
但它总是返回 true,这意味着他们在线,但这是错误的结果。我关闭了系统互联网,他们不太可能返回相同的结果(正确)。
小智 6
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);
}
});
Run Code Online (Sandbox Code Playgroud)
这将根据浏览器的在线状态发出true或false 。
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |