1
ファイルがバックエンドで作成されています(最大1分)。私はファイルが準備ができているかどうかをチェックする関数を書いたファイルの準備ができている間、待機します
function check_for_file() {
$.ajax({
url: '/check/', // check if file exists
success: function(data) {
location.replace('/hello/'); // redirect to download
return true;
},
failure: function(data) {
alert('Got an error');
}
});
return false
}
a = check_for_file();
}
// a= false
// while (a == false) {
// a = check_for_file();
// }
console.log(a);
これはうまくいきます。しかし、私はファイルが準備ができていない間にチェックするループを作る必要があります。私は何をすべきか?
!!!!!!!! 回答の最初のコメントをご覧ください
'= check_for_file();'すぐに戻ります。非同期を実行して結果を返すことはできません。テスト中にafgain関数を呼び出すか、テストファイルがsetTimeoutを使って準備ができていないことを確認してからsetTimeoutを使用して成功/失敗または失敗を表示する方法 - 失敗はエラーではありません。 – mplungjan