我正在尝试在不和谐中编写一个机器人,用户可以设置提醒,但是,我不确定最有效的方法是什么。我最初的想法是基于方法 1 - 设置间隔var events = [ //difference datetime]setInterval(() => check(), 60000); //Everyminutes)function check(){ events.forEach(event =>{ if (Date.now() >= event.time){/*do somthing */} })}但是,我不确定这是否是最好的方法,所以我决定尝试使用setTimeout类似的东西。方法 2 - 设置超时var events = [ //difference datetime]bot.on('ready', ()=>{ events.forEach(event=>{ setTimeout( /*do somthing */, event.time) })}只是想知道,方法1更好吗?setInterval 和 setTimeout 是最好的方法,还是有其他方法或 api/library 可以使它更有效?(或者差异太小)
1 回答

森林海
TA贡献2011条经验 获得超2个赞
我肯定更喜欢方法2。
方法 1 必然是精度(关于执行的确切时间)和浪费的 CPU 周期之间的折衷。使用方法 1 的唯一借口是某些事件的执行会影响其他事件的所需开始时间。
添加回答
举报
0/150
提交
取消