【发布时间】:2015-03-12 14:58:51
【问题描述】:
我正在查看 Leaflet api。
在 setTimeout 中调用 wrapperFn.apply(context, args); 而不是 fn.apply(context, args); 是否有原因?
我试过了,它给了我相同的输出。但想知道它是否有意义?
函数 a(fn, time, context) {
变量锁,execOnUnlock;
返回函数 wrapperFn() {
var args = 参数;
如果(锁定){
execOnUnlock = 真;
返回;
}
锁=真;
设置超时(函数(){
锁=假;
如果(execOnUnlock){
wrapperFn.apply(上下文,参数);
execOnUnlock = 假;
}
}, 时间);
fn.apply(上下文,参数);
};
},
【问题讨论】:
-
wrapperFn确保不会重复调用fn。使用fn会失去这种保护。
标签: javascript