私は、アプリケーションがオンラインであるかオフラインであるかを検出して、別のイベントをトリガーできるコンポーネントを記述しようとしています。レバレッジ可能な組み込み関数はありますか?角度2のネットワーク接続をどのように検出できますか?
1
A
答えて
2
- はに耳を傾け、変更に反応するには、イベントハンドラを必要とします。角度では、観測は、あなたの他のイベントがこれらにonline/offline events
online$ = Observable.fromEvent(window, 'online'); offline$ = Observable.fromEvent(window.'offline');
チェーンに依存している、
はアプリがオンラインになるかオフラインになるが通知されるように最適です:
online$.subscribe(e => this.syncWithServer());
また、navigator.onLine
についてのこの記事を参照してください。ブラウザはこのイベントを一様に実装していないことに注意してください。場合によっては、「オンライン」とは、ブラウザがインターネットではなくローカルネットワークに接続されていることを意味します。より信頼性の高い情報を得るには、イベントが発生したときにリモートサーバーにpingを試行してテストする必要があります。 pingServer
がリモート要求を行うと、そうでない場合は、要求が成功したときtrue
を発する観察可能な、またはfalse
を返します
online$ = Observable.fromEvent(window, 'online')
.switchMap(e => this.pingServer()).filter(e => e);
offline$ = Observable.fromEvent(window.'offline')
.switchMap(e => this.pingServer()).filter(e => !e);
。
1
は、このために「組み込み」機能について知らないが、この記事はあなたにいくつかの方向性を与えることができます。
関連する問題
- 1. 角度2のdivの内側のhtmlの変化をどのように検出できますか?
- 2. WPF/XBAPアプリケーションからのネットワーク接続を検出しますか?
- 3. 角度2のサーバー接続エラー(404ステータス)を検出しました
- 4. どのように角度角度2のpolyfils角度RC.1?
- 5. どのようにネットワーク上のデバイスを検出できますか?
- 6. ネットワークディスクがNAS(ネットワーク接続ストレージ)であるかどうかを検出できますか?
- 7. Linuxでネットワーク接続の種類を検出します。
- 8. 角度2はサーバに接続できません
- 9. どのように角度2でmdbootstrapを使用できますか?
- 10. どのように角度2に位置を注入できますか?
- 11. 角度2ではどのように経路の変更を検出しますか
- 12. どのようにネットワークの信号強度を検出するためのiOS
- 13. Macではどのように2つのファイルを接続できますか?
- 14. ドッカースワンで2つのサービスをどのように接続できますか?
- 15. どのように2つのセグメントコントロールを相互に接続できますか?
- 16. どのようにプログラムでWi-Fiネットワークに接続しますか?
- 17. モバイルブラウザーで角度2のアプリケーション(スリープ検出)
- 18. 角度2の.lessコンパイラはどのように使用できますか?
- 19. 角度2でウィンドウのサイズを即座に検出できるのはどうですか?
- 20. 2つのcmd Windowsをどのように接続できますか? [バッチファイル]
- 21. 2つのOutlookアカウントをどのように接続できますか?
- 22. どのようにチェックボックスが角度2
- 23. 角度2 - どのように
- 24. 2角度:どのように
- 25. 角度2 - どのようにモデル
- 26. 角度2のURLの変化を検出するにはどうすればよいですか?
- 27. 角度4の角度2パッケージはどのように使用できますか?
- 28. ビューは親に接続されているときにどのように検出できますか?
- 29. どのように別の角度2アプリから1つの角度2アプリを読み込みますか?