0

环境为asp.net 4.0, C#, Chrome + Chrome 调试器

当用户单击一个按钮时,它会触发四个 ajax 请求。第一个是同步的。第二个和第三个是异步的——它们(希望)并行运行。直到调用 2 和 3 完成,最终调用才能开始。虽然这一切都在发生,但我想用“。”更新一个对话框。第二份和第三份工作的每一秒。

我正在尝试通过每秒运行的 ajax 调用来完成此操作,并要求 Web 服务检查在会话中记录为对象的状态。我正在使用 setInterval 执行定期检查:

var checkTimer = setInterval(checkProgress, 1000);

function checkProgress() {
    var progress = ajaxCall("WebServices/FLSAService.asmx/CheckFLSASaveStatus");

    if (progress.job1.complete && progress.job2.complete) {
        clearInterval(checkTimer);
)

不幸的是有两个问题:

1) 除非我在 chrome 调试器中设置断点,否则 ajax 调用要等到第一个和第二个工作都完成后才会发生。那时它触发得很好,但 checkProgress 没有被触发 2) 如果我在 Chrome 中没有断点运行,则对话框将保持隐藏状态,直到完成第二个和第三个作业。

4

0 回答 0