我正在尝试在屏幕上显示元素,同时异步地在后台加载新数据。我的代码工作正常,但是在代码终止之前,不会显示添加到屏幕的元素。这是一个例子:
var btn=document.createElement("button");
document.body.appendChild(btn);
sleep(1000);
var btn=document.createElement("button");
document.body.appendChild(btn);
此代码的输出是,它等待1秒并同时添加两个按钮。但是我希望它添加第一个按钮,等待1秒并添加另一个按钮。
有什么想法吗? 感谢
编辑: sleep()函数不是这样,它只是帮我解释一下这个问题。上面的代码不是我在我的项目中使用的代码。 在我的项目中,我正在尝试在加载新内容时在屏幕上打印一些Feed。
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
答案 0 :(得分:2)
使用setTimeout()
- 我不相信sleep()
是JavaScript中的原生函数。
var btn=document.createElement("button");
document.body.appendChild(btn);
setTimeout(function(){
var btn=document.createElement("button");
document.body.appendChild(btn);
}, 1000)
答案 1 :(得分:2)
试试这个:
var btn=document.createElement("button");
document.body.appendChild(btn);
setTimeout(function(){
btn=document.createElement("button");
document.body.appendChild(btn);
},1000);
答案 2 :(得分:2)
嗯,我认为“sleep()”是一种JAVA而不是javascript方法......但是:
var btn=document.createElement("button");
document.body.appendChild(btn);
setTimeout(function(){
var btn=document.createElement("button");
document.body.appendChild(btn);
},1000);
一些文件: http://www.w3schools.com/jsref/met_win_settimeout.asp
你的sleep()
函数停止所有JS脚本并在睡眠延迟后解释所有2 document.body.appendChild(btn);
...