setInterVal长时间运行卡顿,采用setTimeout代替setInterval
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> let Fn=function(){ console.log(111) } let goodnessTime=function(callback,n){ let time=setTimeout(()=>{ clearTimeout(time) time=null callback() return goodnessTime(callback,n) },n) } goodnessTime(Fn,1000) </script> </body> </html>
测试成功:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>采用setTimeout代替setInterval</title> </head> <body> <script> let Fn = function () { console.log('执行方法') } var myDate = null; let timeLoop = function (callback, n) { let time = setTimeout(() => { console.log('计时器', time); clearTimeout(time) time = null //测试 myDate = new Date(); console.log('倒计时结束,清除计时器', time, "当前时间:", myDate.toLocaleTimeString()); //递归 callback() return timeLoop(callback, n) }, n) } timeLoop(Fn, 1 * 60 * 1000) Fn(); //初始执行一次 </script> </body> </html>

引用地址:https://blog.csdn.net/qq_40207505/article/details/121348967
给心灵一个纯净空间,让思想,情感,飞扬!

浙公网安备 33010602011771号