[英]How to prevent javascript from running in parallel some code editing the document?
我想用js(沒有框架)編輯一個頁面,所以我創建了一些函數,每個都編輯一些東西。 在此期間,我想隱藏頁面,所以我用一些空代碼臨時替換正文,調用函數編輯頁面,然后設置回原始正文。 我的問題是函數的結果一下子顯示出來,所以頁面永遠不會被“隱藏”。
這是我要求做的所有事情的主要功能。
async function blocker() {
hide(); //replace body
... //some edit
sleep(5000); //assume I have a function to delay the editing
unhide(); //put back the original body
}
這是隱藏功能
var html;
function hide(){
html = document.body;
tempBody = document.createElement('body');
tempBody.innerText = "LOADING";
tempBody.style = `...`;
document.body = tempBody;
}
我希望在調用blocker()
之后立即看到“LOADING”文本,而是等待所有操作完成,並且僅在unhide()
完成后顯示更改。 請你幫助我好嗎?
它會工作,沒有異步,等待
function blocker() {
hide(); //replace body
//some edit
setTimeOut(function(){
unhide(); //put back the original body after 5s
}, 5000);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.