navigator.geolocation.getCurrentPosition が時々失敗する
一見単純なコードにもかかわらず、navigator.geolocation.getCurrentPosition で一貫性のない動作が発生し、失敗することがわかりました。
潜在的な問題の 1 つは、getCurrentPosition のデフォルトの無限タイムアウトにあります。タイムアウトを設定しないと、リクエストが無期限にハングした場合、エラー ハンドラーはトリガーされません。これを回避するには、関数呼び出しでタイムアウトを指定します。
navigator.geolocation.getCurrentPosition(successCallback,errorCallback,{timeout:10000});
タイムアウトにより、指定された時間枠 (この例では 10 秒など) 内に応答を受信できるようになります。
ただし、タイムアウトが解決したとしても、さまざまなデバイスやブラウザー間で動作にさらなるバリエーションが発生することがあります。これは、地理位置情報の基盤となるインフラストラクチャが宣伝されているほど信頼できない可能性があることを示唆しています。
具体的には、次のことに気付きました。
これらの観察結果は、バックエンド インフラストラクチャの一貫性が予想より低い可能性があることを示しています。タイムアウト パラメーターを設定すると、リクエストがタイムアウトしたときにエラー ハンドラーが正しく機能できることに注意することが重要です。
要約すると、タイムアウトを設定すると無限リクエストの問題を軽減できますが、その根底にある矛盾は、地理位置情報インフラストラクチャは依然として時折障害を引き起こす可能性があります。
以上がnavigator.geolocation.getCurrentPosition が断続的に失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。