Ber*_*rgi 10

你不会,因为JavaScript没有睡觉 - 它是同步和基于事件的.然而,你可以安排将通过在时间后执行的功能setTimeoutsetInterval:

var timerid = setInterval(function() {
    // do something
    // instead of "break", you'd use "clearTimeout(timerid)"
}, 2000);
Run Code Online (Sandbox Code Playgroud)

对于你的ajax进度条,我建议以下不严格每个2s发出请求,但等待它们返回:

function getUpdate() {
    myAjax(…, function onAjaxSuccess(result) { // an async event as well
        // show(result)
        if (!result.end)
            setTimeout(getUpdate, 2000);
    });
}
getUpdate();
Run Code Online (Sandbox Code Playgroud)