如何在javascript中为函数添加回调

men*_*mam 22 javascript jquery function callback

我有两个javascript函数

function one () {
   do something long... like writing jpgfile on disk
}

function two () {
   do something fast... like show the file
}
Run Code Online (Sandbox Code Playgroud)

我这样称呼它(在jQuery中)

 one ();
 two ();
Run Code Online (Sandbox Code Playgroud)

因为函数二需要来自函数一的链接文件,我需要确保执行完成...所以在函数一的回调中获取函数二应该是技巧..但是如何做到这一点?

注意:我确实在这两个函数之间放了一个警告('aaa')让函数一个完成,并且它工作正常......当警报被注释(删除)时,任何东西都不再有效!

Que*_*tin 48

如果你正在做异步的事情,你只需要使用一个回调,否则无论事情需要多长时间,下一个函数在第一个完成之前都不会运行.

回调只是将函数作为参数传递,然后在完成时调用它.

function one (callback) {
   do something long... like writing jpgfile on disk
   callback();
}

function two () {
   do something fast... like show the file
}

one(two);
Run Code Online (Sandbox Code Playgroud)

显然,如果你正在做一些异步的事情,那么你需要一些东西来告诉你什么时候完成(比如一个事件发生).


Joe*_*Joe 13

简单:

function one (callback) {
   do something long... like writing jpgfile on disk

    if(callback) callback();
}

function two () {
   do something fast... like show the file
}

one(two);
Run Code Online (Sandbox Code Playgroud)


Jin*_*esh 5

尝试这个,

$.when($.ajax(fuction1())).then(function () {

fuction2;

});
Run Code Online (Sandbox Code Playgroud)

这里,fuction1 是您要调用的第一个函数,fuction2 是您的第二个函数。