我有一个回调函数,我想在成功加载2个单独的$.getScript
调用后执行它。
我正在使用下面的设计,但它感觉很乱,并且使用命名函数感觉非常非jQuery
var foo_ready = false;
var bar_ready = false;
var dual_callback = function(){
if(foo_ready && bar_ready)
{
//do things
}
};
jQuery.getScript('/foo.js', function(){
foo_ready = true;
dual_callback();
});
jQuery.getScript('/bar.js', function(){
bar_ready = true;
dual_callback();
});
在多个异步调用完成后,是否有更好或更优雅的方法来执行单个回调?
答案 0 :(得分:12)
如果你有jQuery 1.5.1,你可以这样做:
$.when( $.getScript('/foo.js'), $.getScript('/bar.js') ).done(function(){
// this is called when both are done.
});