1
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;
}
}
isValidURL
の関数呼び出しの前にifステートメント内の警告が実行されています。関数が最初に実行されるようにするにはどうすればよいですか?取得要求の関数呼び出しの前にJavascriptアラートが実行されます
[非同期呼び出しから応答を返すにはどうすればいいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call ) – David
ヒント: 'isValidURL' *自体は' return'文を含んでいないので、その結果は常に 'undefined'と評価されます。これは" falsey "です。だから '!this.isValidURL()'は常に* trueになります。 – David