私は、タスクが完了したかどうかをチェックするはずのjavascript関数を持っています。 タスクが完了すると、サーバー上のファイルに完了レコードが存在します。 関数は、ファイルに完了レコードを取得するまで(遅延して)いくらか遅延してサーバーへの再帰呼び出しを行うことになっていました。 以下のコードは、Webコンソールの例である の例です。 [20:06:21.202] [20:06:21.993] タスクは次のようになります。変数に競合しました待機時間値がmax_waittimeに等しくなっています。 テストケース全体の出力は期待どおりですが、何か問題があります。 どこが間違っていますか?タスクが完了したことを確認してください
function check_status(time,div_id,filename) {
var status =0;
var waittime=time;
var max_waittime=11000000;
if (waittime < max_waittime){waittime=waittime+1000000; }
$.ajax({
type: "GET",
async: false,
url: "code_on_server_checking_file.php",
data: "f="+filename,
dataType: "text",
success: function(content) {
if (content) {
// stuff related to output of the result
....
return status=1;
}
else {return status=0;}
}
});
if (status == 0 && waittime < 20000000){
setTimeout(check_status(waittime,div_id,filename),waittime);
}
else {alert('check_status passed!'+status+'|'+waittime);}
}
'async'呼び出しについての良い点です。私は逃しました。 –