javascript中的console.log登录间隔

javascript中的console.log登录间隔,javascript,timer,setinterval,Javascript,Timer,Setinterval,我希望每隔1或5分钟从一个请求量很大的api(如采样)记录一个请求。我很好奇这个函数在javascript中会是什么样子?我在想一些,而使用setInterval循环,但不确定如何编写它,或者它是否是最好的方法 更新:基于Afshin的回答 let logNext = true const minute = 60 * 1000 setInterval(() => { logNext = true }, minute) const logSample = item => {

我希望每隔1或5分钟从一个请求量很大的api(如采样)记录一个请求。我很好奇这个函数在javascript中会是什么样子?我在想一些
,而
使用
setInterval
循环,但不确定如何编写它,或者它是否是最好的方法

更新:基于Afshin的回答

let logNext = true
const minute = 60 * 1000
setInterval(() => {
  logNext = true
}, minute)

const logSample = item => {
  if (logNext) {
    logNext = false
    console.info('item', item)
  }
}

您不需要任何循环,因为setInterval本身就是一种循环,因为它可以永远运行,除非您清除它的处理程序

let myinterval = setInterval(function() {
  //Call the api
}, 300000);
如果要停止间隔,请执行以下操作:

clearInterval(myinterval);
API调用部分将每5分钟启动一次,直到您调用clearInterval


我想你把setInterval和setTimeout搞错了,它们只启动了一次。

我没有用于日志记录的api调用,只是
console.log
。也许在间隔中,我会设置
logNext=true
,然后当它记录时,我会立即运行
logNext=false
?或者你可以清除setInterval中的间隔(调用clearInterval)。我只做设置的间隔和logNext=true/false的事情