データベースの更新が長期にわたって行われているため、その更新について報告したいと考えています。setIntervalの問題の例をたくさん見てきましたが、それは単純に見えますが、このコードでは起動できません。checkSaveStatus コードは、保存された行数を示すステータス レポートを返します。基本的な機能が動作するようになったら、結果を表示するように拡張します。
これは、私が Ajax 呼び出しを処理している方法と関係があるのではないかと疑い始めています。
var checkTimer;
function checkSaveStatus() {
var saveStatus = ajaxCall("WebServices/FLSAService.asmx/CheckFLSASaveStatus");
if (saveStatus == null) {
clearInterval(checkTimer);
return;
}
log('saveStatus: ' + saveStatus.InputCount + '/' + saveStatus.ResultCount + ':' + saveStatus.SaveComplete, 'FLSA');
if (saveStatus.SaveComplete) {
reportSaveComplete = true;
clearInterval(checkTimer);
}
}
checkTimer = window.setInterval(checkSaveStatus, 1000);
... make an asynchronous Ajax call that takes a long time to complete
... the checkSaveStatus code doesn't fire until the Ajax call completes