1 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
JavaScript 默認(rèn)情況下是阻塞的。僅當(dāng) JavaScript 完成運(yùn)行到當(dāng)前運(yùn)行的同步代碼末尾時(shí),瀏覽器才會(huì)重新繪制。因此,如果您有總共插入 10000 行的同步代碼,那么這些行將在一切完成后立即出現(xiàn)。
如果您想一次渲染 50 個(gè)批次,請(qǐng)?jiān)谝韵抡{(diào)用之間添加一點(diǎn)延遲b:
async function a() {
// .....
let number_of_rows = 10000
for (i = 50; i < number_of_rows; i += 50) {
await b(i)
}
// .....
}
function b(start_row) {
//create rows dynamically and append to the html table
return new Promise(res => setTimeout(res, 50)); // wait 50ms
// adjust this number as desired
}
添加回答
舉報(bào)