我指的是这个.一切都还不清楚.
fillTree()
更新树的JS函数,它有复选框.checkSelectedBoxes()
执行window.onload
检查所选复选框.我的问题:
setTimeout()
其他脚本功能也会停止并等待我的功能完成加载?可能是这种情况:
function fillTree(){...}
function checkSelectedBoxes(){...}
fillTree(); // This take time to get data. onLoad() doesnt work.
setTimeout(function(){ checkSelectedBoxes() },5000);
Run Code Online (Sandbox Code Playgroud)
即使在增加时间间隔后,这也会返回空值.是否fillTree()
暂停执行?
Jos*_*eph 14
不,setTimeout
不等你(因此,JS没有暂停功能).setTimeout
稍后将该任务放在什么位置,并允许执行下一行.达到超时时,它会将该任务插入执行行.当没有其他代码在运行时,它会执行指示的功能.
你想要做的是给你一个回调,fillTree()
并在完成后执行.
function fillTree(callback){
//do something very long
callback(); //execute passed function when it's done
}
fillTree(function(){
checkSelectedBoxes(); //executes only when fillTree finishes
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14696 次 |
最近记录: |