同步JavaScript调用
问题描述:
我有2个脚本同步JavaScript调用
script1 = function() {
// takes very long time
}
script2 = function() {
// takes less time
}
我想确保SCRIPT2应该运行SCRIPT1完成后。
答
把你SCRIPT2到SCRIPT1。或者对于更一般的解决方案,使script1函数接收回调函数(script2)并调用它。
这是很多很多的jQuery异步功能
script1 = function(callback){
//takes very long time
callback();
}
script2 = function(){
//takes less time
}
...
//call like this
script1(script2);
答
我做什么之前设置一个全局布尔变量,只有它在SCRIPT1到底分配给正确的,在SCRIPT2,检查的方式如果它不是真的,则使用setTimeOut稍后调用它自己。我知道这听起来不是一个好的解决方案,但这是我意识到我可以做的。
+0
虽然,这可能工作,它通常被认为穷人的做*询这样,当传统的回调是在这种情况下,充足的。 – 2012-02-29 05:53:15
+0
感谢您的答复是的,我做了同样的西蒙,但我想有没有其他的解决办法 – Allwyn 2012-02-29 06:03:35
那么,有没有从'SCRIPT1()'结束调用'SCRIPT2()'的问题吗? – nnnnnn 2012-02-29 05:50:12
'script1'是否异步? – icktoofay 2012-02-29 05:52:59