private isValidURL(url: string) {
var isValid = false;
this.$http.get(url).then(
(data) => {
console.log('success');
isValid = true;
}
).catch(
(reason) => {
console.log('failure ' + reason);
isValid = false;
}
).then(
() => {
return isValid;
}
)
}
private anotherFunc() {
if (!this.isValidURL(url)) {
alert('Wrong URL');
return false;
}
}
Die Warnung in der if-Anweisung wird vor dem Funktionsaufruf isValidURL
ausgeführt. Wie stelle ich sicher, dass die Funktion zuerst ausgeführt wird?JavaScript-Warnung läuft vor Funktionsaufruf für Anforderung abrufen
Mögliches Duplikat von [Wie gebe ich die Antwort von einem asynchronen Anruf zurück?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – David
Hinweis: 'isValidURL' * selbst * enthält keine' return'-Anweisung, und daher wird das Ergebnis immer zu 'undefined' ausgewertet, was "falsey" ist. Also '! This.isValidURL()' wird * immer * wahr sein. – David