我想最终让这段代码起作用:
function Timer(callback, delay) {
var timerId, start, remaining = delay;
this.pause = function() {
window.clearTimeout(timerId);
remaining -= new Date() - start;
};
this.resume = function() {
start = new Date();
timerId = window.setTimeout(callback, remaining);
};
this.resume();
}
var timer;
function onEvent(){
timer = new Timer(anotherEvent(), 5000);
}
但这不起作用,所以我简化它以查看可能存在的问题,并将其归结为:
var timer;
function event(){
timer = window.setTimeout(anotherEvent(), 5000);
}
并且它立刻就是另一个事件()。
有什么想法吗?
答案 0 :(得分:7)
将anotherEvent
作为函数的参数传递。您现在拥有的是anotherEvent()
调用该函数并将其返回值作为参数传递。