[英]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.