我的代码如下,它不会引发错误,但是在运行错误后会停止。
我尝试查看此代码并搜索文档,但找不到任何东西,可能是由于我的知识水平所致。
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]]--;
}
}
}
最佳答案
setInterval()
的第一个参数是它必须定期调用的函数。
传递给setInterval()
的第一个参数是调用loseTimeW(1)
返回的值。但是loseTimeW()
函数没有任何return
,因此loseTimeW(1)
的值是undefined
。
我想您的意图是每隔loseTimeW()
毫秒用参数1
调用1000
。您可以轻松实现。 setInterval()
接受两个或多个参数。调用它时,它将以第三个参数(如果有的话)开头的参数传递给回调(参数1)。
工作代码类似于:
var dataW = setInterval(loseTimeW, 1000, 1);
阅读有关
setInterval()
的更多信息。