我在一个范围内有这个功能:
AjaxState.prototype.run_on_finish = function(callback){
if (this.isRunning()){
setTimeout('AjaxState.obj().run_on_finish('+callback+')', 250);
}else{
callback();
}
}
我只是检查所有ajax是否已完成,然后在我调用回调后(如果所有ajax都已完成)... 但是,在其他方面我尝试使用这个函数调用如下:
//。obj()只是调用单例模式。
function foo(){
var id = 2;
AjaxState.obj().run_on_finish(function(){
makeThings(id);
});
}();
当我执行此操作时,我收到msg“id未定义”,因为我认为“run_on_finish”只是在全局范围内查找它,如果我从id中删除“var”,它可以工作......但是我不知道我想把它发送到全局,我想通过函数发送它,这可能吗?
答案 0 :(得分:0)
试试这个:
function foo() {
var id = 2;
AjaxState.obj().run_on_finish(
(function(id) {
var sub_id = id;
return function() {
makeThings(id);
};
})(id));
}