2011-11-26 133 views
-1

我有一个JavaScript函数func1()如何在完成第一个功能后执行功能?

function func1() { 
    do some stuff; 
} 

和另一个JavaScript函数func2()

function func2() { 
    do some other stuff; 
} 

完成func1()后,我怎么能叫func2()

我知道如何为'onclick', 等事件定义回调处理程序,但我不知道如何在func1()完全执行后调用func2()

回答

1

javascript不是多线程的,所以我没有看到这里有什么复杂的。你应该能够做到这一点:

function func1() { 
    do some stuff; 
    func2(); 
} 
function func2() { 
    do some other stuff; 
} 
+0

我试过了。你可以套住吗?看到我的评论以上的答案,也许建议一个解决方案?谢谢,Vineet – Vineet

+0

解决了它。请在Josh的答案下看到我的评论。 – Vineet

2

或者:

function func1() { 
    // Everything else 
    func2(); 
} 

​​

,或者,如果func1做了异步的,那么你就需要一些方法在结束时告诉。这可能涉及设置事件处理程序,但具体取决于函数的实际功能。

+0

你得到了我的概率权。 func1()对服务器端脚本执行异步调用,该脚本生成html表格内容。 func2()适用“.dataTable()插件”。当func2()被执行时,dataTable格式化/样式暂时出现并再次回复到纯html表。我的方法学可能有什么错误? ... Vineet – Vineet

+0

解决了它。 PL。在Josh的回答下看到我的评论。 – Vineet

2

的另一种方法建议他人(停靠的第一个函数结束一个全局函数)是:

function f1(callback) { 
    //do some stuff 
    callback(); 
} 

function f2() { 
    //do some other stuff 
} 

f1(f2); 
+0

@乔希,谢谢。我接受了你的答案。现在进一步的问题是 - func1()执行生成html表格内容的服务器端脚本。 func2()适用“.dataTable()插件”。当func2()被执行时,dataTable格式化/样式暂时出现并再次回复到纯html表。任何提示? ..维尼 – Vineet

+0

解决了它。我将这些函数转换为JQuery,然后从服务器端脚本本身执行相同的操作。 – Vineet

相关问题