更新XMLHTTPRequest.onreadystatechange中的HTML5进度条

更新XMLHTTPRequest.onreadystatechange中的HTML5进度条,html,google-chrome,firefox,xmlhttprequest,progress-bar,Html,Google Chrome,Firefox,Xmlhttprequest,Progress Bar,将XMLHttpRequest中的两个HTML5进度条更新为: for (var i = 0; i < times.value; i++) { xhr.open("POST", uri, false); xhr.send(payload); restSendBar.value += 100 / times.value; console.log(i + "th times"); } 在Firefox中,执行for循环时会更新进度条。在Chrome中,在for

将XMLHttpRequest中的两个HTML5进度条更新为:

for (var i = 0; i < times.value; i++) {
    xhr.open("POST", uri, false);
    xhr.send(payload);
    restSendBar.value += 100 / times.value;
    console.log(i + "th times");
}
在Firefox中,执行for循环时会更新进度条。在Chrome中,在for循环完成后更新进度条

这是更新进度条的正确方法吗

这是Chrome中的一个bug吗


Arun

可能是Chrome对方法调用的优先级不同于Firefox。尝试使用
setTimeout
更新进度条“带外”:

setTimeout(function() {
  // Update progress bar here
  restRxBar.value += 100 / times.value;
}, 0);

更多的相关代码将有所帮助。我将在何处设置此时间?您将用它替换
restXbar.value
调用。仍然没有更改,在for循环之后更新进度条。
setTimeout(function() {
  // Update progress bar here
  restRxBar.value += 100 / times.value;
}, 0);