Javascript window.setTimeout无法正常工作

Javascript window.setTimeout无法正常工作,javascript,timer,window,settimeout,Javascript,Timer,Window,Settimeout,我正试图最终使此代码正常工作: function Timer(callback, delay) { var timerId, start, remaining = delay; this.pause = function() { window.clearTimeout(timerId); remaining -= new Date() - start; }; this.resume = function() {

我正试图最终使此代码正常工作:

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);
}
它所做的一切就是立即发生另一件事

有什么想法吗?

将另一个事件作为参数传递给函数。您现在拥有的是另一个事件,它调用函数并将其返回值作为参数传递。

将另一个事件作为参数传递给函数。您现在拥有的是另一个调用函数并将其返回值作为参数传递的事件