如何在不使用回调的情况下加载外部文件后执行代码

时间:2017-11-05 09:36:13

标签: javascript events asynchronous javascript-events

我有一个代码女巫依赖于动态加载的外部js文件&异步

我想在文件加载时执行此代码&注册

我用三种方法来达到这种方法

方法#1 使用像jQuery这样的回调函数,这不会给我我想要的东西,因为我需要在文件的不同位置执行一些代码

ggplot2

我不需要将doAnotherCode()和另一个Code()作为回调函数传递给loadJs()

方法#2

loadJs("external.js",function(){ /*will execute just after the external file loaded*/}); 

x.doAnotherCode();
x.alsoAnotherCode();

很难使用wait()的主体,即不能使作业自动化

方法#3 听取外部类本身触发的事件,而不是loadJs()"

function wait(fn,el){
    //delay excution of fn() untill el ready
  if (typeof el != 'undefined')fn();else setTimeout(function(){wait(fn,el)}, 100);//try again after 100ms
}

wait(function(){x.doAnotherCode();},x); //Error: x is undefined

0 个答案:

没有答案