[英]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.