编辑代码

function mySetInterval(fn,time=1000){
  let timer = null 
  let isClear = false
  function interval(){
    if(isClear){
      isClear= false
      clearTimeout(timer)
      return
    }
    fn()
    timer = setTimeout(() => {
      interval()
    }, time);
  }
  timer = setTimeout(() => {
    interval()
  }, timer)
  return ()=>{
    isClear = true
  }
}


let one = mySetInterval(()=>{
  console.log('one')
})

setTimeout(() => {
  one()
}, 9000);