我在项目中有很多js文件,我想创建一个require函数来测试文件是否已经加载。我知道requirejs但我希望做一些小而简单的事情。我的函数下面的问题是,在调用requires
时会抛出错误function requires(obj, fn){
if(typeof obj === 'undefined'){
log('obj undefined');
window.setTimeout(function(){requires(obj, fn)}, 10);
//10 ms is arbitrary, i'm not a fan of that
}else{
fn();
}
}
//example using it
requires(widgets, function(){
window.widgets.showUserDlg = function showUserDlg(data) {
...
}
}
});
。我该如何防止这种情况?
DataTable
答案 0 :(得分:1)
如果widgets
是全局变量或对象属性,则可以将其作为字符串名称传递,如
requires('widgets', function() { /* ... */ });
然后使用window
或该对象作为数组进行检查:
function requires(obj, fn){
if(typeof window[obj] === 'undefined'){ // or container[obj]
log('obj undefined');
window.setTimeout(function(){requires(obj, fn)}, 10);
//10 ms is arbitrary, i'm not a fan of that
}else{
fn();
}
}