ジオロケーションに固有のエラーをキャッチして、ジオロケーションがオンになっている必要があることをユーザーに通知するにはどうすればよいですか?Catch Geolocation Error - Async Await
catchは、PositionErrorというエラーをMozillaのドキュメント "https://developer.mozilla.org/en-US/docs/Web/API/PositionError"でここに参照して記録します。
*注:私のコードは、エラーをキャッチしていない、それは単に表示されます。
Uncaught (in promise) ReferenceError: PositionError is not defined
コード
getCurrentLocation() {
return new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(resolve, reject, {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
});
});
},
async inout() {
try {
let location = await this.getCurrentLocation();
let response = await axios.post(API.URL, {});
} catch (e) {
if(e instanceof PositionError) {
console.log('position error')
}
}
}
I PositionErrorはブラウザには知られていないと推測されます(ただし、getCUrrentPositionによって返される「匿名」)。代わりに 'Object.prototype.toString.call(error)=== '[object PositionError]'をチェックすることができます。 – Fabian
'async/await'はES7ではなく** ES2017 **の一部です。 –