通過遞歸的方法使用setTimeout模擬setInterval行爲

今天在優化項目的代碼時候用到了遞歸方法,然後看到網上一個有趣的題目:怎麼用setTimeout模擬setInterval行爲?

感覺挺過癮的,就去實現了一下,果然有趣,直接上代碼吧:

//實現的方法挺簡單的 ,如下代碼
//參數: 毫秒  需要執行的方法
function setInter(s,fn){
  let timeOut = (s,fn)=>{
      setTimeout(()=>{
        fn();
        timeOut(s,fn);
      },s)
  }
  timeOut(s,fn);
}

//調用上面的方法
setInter(3000,()=>{console.log("hello world!")})

代碼雖然簡單,但是也踩了一點坑,但最後還是用這麼點代碼實現了,終於不會提示出現內存溢出了!!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章