我尝试超时执行一些功能,这是来自类的代码:

while($$('.visos_prekes ul li.simple').length > 0){
    setTimeout(this.destroyByOne(), 5000);
}

destroyByOne: function(){
    $$('.visos_prekes ul li.simple').each(function(e, key){
        e.destroy();
        if(key > 16){
            return true;
        }
    });
},


但是此函数的执行不会超时。我做错了什么?

最佳答案

此行setTimeout(this.destroyByOne(), 5000);应为:

setTimeout(this.destroyByOne, 5000);


因为您需要将函数处理程序(即变量)传递给它,而不是函数调用(this.destroyByOne())的结果。

关于javascript - 在Mootools中使用超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15699266/

10-09 15:10