繁体   English   中英

如何在完成另一个函数后才执行javascript / jquery函数?

[英]How to execute a javascript/jquery function only after the completion of another function?

我知道这是一个简单的问题,但我真的不知道该怎么做。 我正在我的代码中执行两个函数,'luxboxEngine'和'fitToScreen',后者需要完成前者。 如何告诉'fitToScreen'仅在'luxboxEngine'完成后执行? 现在我有了这个,它得到了预期的结果:

luxboxEngine(self);
setTimeout(fitToScreen, 1000);

......但我知道这不是一个好的解决方案。 我已经阅读了关于回调函数的内容,但我担心我并没有真正了解它们是什么/如何将它们合并。 谢谢阅读。

编辑:所以当Sudharsan Sri和Brian McGinity在下面回答时,回调就是解决方案。 这是我用来获得程序中所需内容的代码:

    luxboxEngine(self, function () {
       fitToScreen(); 
    });

这会在luxboxEngine完成后触发fitToScreen函数。

像一个回调? 将函数作为参数传递然后调用它:

 fitToScreen( function(){luxBoxEginie();}  );

 function fitToScreen( cb ) {
  //// do somethings
  cb()
 }

要么

luxboxEngine(self, function (){ fitToScreen(); });

function luxboxEngine( s, cb)} {
 // do somethings
 cb();  //execute the callback function
}

fitToScreen()作为参数传递给luxboxEngine()。 fitToScreen()等待执行,并且仅在执行时运行: cb()

使用回调:

luxboxEngine(self , function() { fitToScreen(); }); 
luxboxEngine(self); //Executes, returns undefined, nothing happens with return value
fitToScreen(); //The first one is done by the time we get here

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM