从变量调用setTimeout函数

时间:2015-06-30 09:08:42

标签: javascript

我已经为setTimeout函数定义了一个变量,以便我以后可以清除它。那部分有效。我在从变量调用setTimeout函数时遇到问题,我想我不懂语法。

var idOne = setTimeout(function() {
    //do stuff here
    custom(); //callback
}, 2000);

function custom() {
    //do stuff here
    idOne;
}

custom();

具体而言,我认为idOne;部分必须是错误的。 JsHint说它没有做任何事情。我无法弄清楚语法。

修改

知道了!这是最终的代码!

var idOne;
var timeoutOne = function(){
    idOne = setTimeout(function(){
        //stuff
        custom();
    }, 2000);
}

function custom() {
     //do stuff
     timeoutOne();
}

然后当我想清除它时,我使用:

clearTimeout(idOne);

1 个答案:

答案 0 :(得分:0)

setTimeout函数返回Number,可用于clearTimeout。我想,你想要做的是定义一个函数

var myFunction = function () { 
    idOne = setTimeout(function() {
         custom();
    }, 2000);
}

function custom() {
    myFunction();
}

custom();

最后到clearTimeout

clearTimeout(idOne);