admin管理员组文章数量:1794759
setInterval的启动与停止,以及node
setInterval 简介
setInterval()方法可按照指定的周期来调用函数或者计算表达式(以毫秒为单位)
setInterval 启动语法 :setInterval(函数表达式,毫秒数);
如:间隔十秒打印一次 test
setInterval(function () { console.log('test') }, 1000) setInterval 停止语法:clearInterval(interval)
由于 nodejs 是异步的,所以以下代码并不能打印 print,因为定时任务在启动时就结束了
//定时任务 function func() { console.log("print") } //启动,func不能使用括号 var interval = setInterval(func, 2000); //停止 clearInterval(interval); 简单实例每隔 0.5s 打印一次,总共打印十次后,停止定时任务,通过setTimeout “睡眠” 5s 之后,再次启动定时任务,每隔 5s 打印一次
let count = 0 //定时任务 function func() { count++ console.log('第' + count + '条消') if (count === 10) { //停止定时任务 clearInterval(interval); setTimeout(() => { console.log("重新启动定时任务") //重新启动定时任务 interval = setInterval(func, 5000); }, 5000) } } //启动,func不能使用括号 let interval = setInterval(func, 500); setInterval 与 setTimeout 区别-
setTimeout()方法只运行一次,也就是说当达到设定的时间后就出发运行指定的代码,运行完后就结束了
-
setInterval()是循环执行的,即每达到指定的时间间隔就执行相应的函数或者表达式,是真正的定时器。
以上的两种方法,适合隔固定时间执行的任务,如果想要设定具体的时间执行的任务,比如 每天8:00执行、每年2月5号7点59执行,可以使用 node-schedule 来完成定时任务,简单说一下用法
schedule.scheduleJob('30 * * * * *',()=>{ console.log('scheduleCronstyle:' + new Date()); });*代表通配符
* * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ | │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────── day of month (1 - 31) │ │ └─────────────── hour (0 - 23) │ └──────────────────── minute (0 - 59) └───────────────────────── second (0 - 59, OPTIONAL)6个占位符从左到右分别代表:秒、分、时、日、月、周几
node-schedule 详细用法参考如下博客 www.jianshu/p/8d303ff8fdeb.
本文标签: setIntervalnode
版权声明:本文标题:setInterval的启动与停止,以及node 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686477444a71894.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论