我想在 JavaScript 中运行一个计时器 30 秒,播放一个哔哔声 .WAV 文件,然后计数 10 秒并再次播放哔哔声。我希望重复此操作,直到达到所需时间或用户干预并单击停止按钮。
这就是我实现它的方式:
function startWorkOut(param) {
if (param === 1) {
setTimeout(playBeep, 30000); //30 second workout
}
else if (param === 0) {
setTimeout(playBeep, 10000); //10 second rest
}
return;
}
function playBeep() {
beep.play(); //already loaded above this snippet
i++; //simple switch for going back and forth between 30 & 10 secs
if (i % 2 === 1) {
startWorkOut(0);
}
else startWorkOut(1);
return;
}
问题是我不知道如何阻止它。因为这两个函数来回调用对方,我需要知道如何进行某种手动中断。