Wie kann ich den Geolocation-spezifischen Fehler abfangen, um den Benutzer darüber zu informieren, dass Geolocation aktiviert sein muss?Catch Geolocation Error - Async Warten
Der Catch protokolliert einen Fehler namens PositionError wie hier in der Mozilla-Dokumentation "https://developer.mozilla.org/en-US/docs/Web/API/PositionError" verwiesen.
* Anmerkung: mein Code nicht den Fehler abzufangen, es zeigt einfach:
Uncaught (in promise) ReferenceError: PositionError is not defined
-Code
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 rate PositionError ist dem Browser nicht bekannt (aber "anonym" von getCUrrentPosition zurückgegeben). Sie könnten stattdessen 'Object.prototype.toString.call (error) === '[object PositionError]'' überprüfen. – Fabian
'async/await' ist Teil von ** ES2017 **, nicht ES7. –