同步JavaScript调用

同步JavaScript调用

问题描述:

我有2个脚本同步JavaScript调用

script1 = function() { 
    // takes very long time 
} 

script2 = function() { 
    // takes less time 
} 

我想确保SCRIPT2应该运行SCRIPT1完成后。

+1

那么,有没有从'SCRIPT1()'结束调用'SCRIPT2()'的问题吗? – nnnnnn 2012-02-29 05:50:12

+0

'script1'是否异步? – icktoofay 2012-02-29 05:52:59

把你SCRIPT2到SCRIPT1。或者对于更一般的解决方案,使script1函数接收回调函数(script2)并调用它。

这是很多很多的jQuery异步功能

script1 = function(callback){ 
     //takes very long time 
     callback(); 
} 


script2 = function(){ 
     //takes less time 
} 
... 
//call like this 
script1(script2); 
+0

感谢主销我会尝试这 – Allwyn 2012-02-29 06:05:27

+0

我可以在不修改这两个功能的第三功能实现这一????? – Allwyn 2012-02-29 07:09:41

+0

@Allwyn我不这么认为 – kingpin 2012-02-29 07:35:26

我做什么之前设置一个全局布尔变量,只有它在SCRIPT1到底分配给正确的,在SCRIPT2,检查的方式如果它不是真的,则使用setTimeOut稍后调用它自己。我知道这听起来不是一个好的解决方案,但这是我意识到我可以做的。

+0

虽然,这可能工作,它通常被认为穷人的做*询这样,当传统的回调是在这种情况下,充足的。 – 2012-02-29 05:53:15

+0

感谢您的答复是的,我做了同样的西蒙,但我想有没有其他的解决办法 – Allwyn 2012-02-29 06:03:35