
我试过什么
let intervalTimer = null;
function startTimer(callback, interval) {
// Write the code that goes here
intervalTimer = setInterval(() => {
let obj = {number:0};
if(callback(obj)) {
} else {
}
},interval);
}
function callback(obj) {
obj.number++
console.log(obj.number);
return obj.number < 5;
}到目前为止,这是我的代码--但我只得到了1。在那之后,代码不再继续。我怎么才能解决这个问题?
发布于 2022-06-07 12:23:21
下面演示了两个定时器的并发运行。每个计时器回调将根据其counter变量记录一个值。第一个定时器的工作间隔为500毫秒,第二个定时器的工作间隔为1000毫秒。
请注意逻辑OR运算符(||)的使用:
如果运算符的左边计算为一个真实值,则为
。
const startTimer = (callback, interval = 1000) => {
let counter = 1
const tick = () =>
(callback(counter++) || clearInterval(intervalId))
const intervalId = setInterval(tick, interval)
}
const countToTen = (counter) => {
console.log(counter)
return counter < 10
}
const abcs = (counter) => {
// 65 is the start of the Latin Alphabet
console.log(String.fromCharCode(64 + counter))
return counter < 10
}
startTimer(countToTen, 500)
startTimer(abcs)
https://stackoverflow.com/questions/72530874
复制相似问题