使用setInterval()函数制作番茄定时器

时间:2019-01-10 11:17:20

标签: javascript

我的代码在下面,它不会引发错误,但是在运行错误后会停止。

我尝试查看此代码并搜索文档,但由于我的知识水平,找不到任何东西。

var timeNumbers = ['count','working','resting'];
var amountData  = {'count':0,'working':0,'resting':0};   

function fromCount(){
    if(timeVa['working'] == false) return;
    var amountDataNo1 = Array.from(amountData);
    var dataW = setInterval(loseTimeW(1),1000);

    function loseTimeW(n){
        if(amountDataNo1[timeNumbers[n]] == 0){
            clearInterval(dataW);
            timeVa['resting'] == true;
        }else{
            amountDataNo1[timeNumbers[n]]--;
        }
    }
}

1 个答案:

答案 0 :(得分:2)

setInterval()的第一个参数是它必须定期调用的函数。

您传递给setInterval()的第一个参数是调用loseTimeW(1)返回的值。但是loseTimeW()函数没有return的任何内容,因此loseTimeW(1)的值为undefined

我想您的意图是每loseTimeW()毫秒用参数1调用1000。您可以轻松实现这一目标。 setInterval()接受两个或多个参数。它将在调用时将以第三个参数(如果有的话)开头的参数传递给回调(参数1)。

工作代码类似于:

var dataW = setInterval(loseTimeW, 1000, 1);

详细了解setInterval()

相关问题