在JavaScript中在给定日期时间执行代码的最佳方法

在JavaScript中在给定日期时间执行代码的最佳方法,javascript,datetime,notifications,Javascript,Datetime,Notifications,我只是想知道在JS中,哪种方法最适合在给定日期执行函数。我的第一个想法是让一个循环在web worker中运行,每分钟检查我是否在应该显示通知的那一分钟,但我想知道是否有更干净的方法来实现它 有什么想法吗 附言:我不需要任何答案,因为我用的是,我用的是“at”论点,这个问题纯粹是为了好奇/学习 编辑: 你们中的一些人觉得这个问题太宽泛了,事实上它太宽泛了,不太宽泛我不是在问如何发送通知?这就是重点,我正在寻找一个通用的算法/解释,在这里有一个丰富的答案,所以欢迎对任何平台的解释,以帮助每次掌握问

我只是想知道在JS中,哪种方法最适合在给定日期执行函数。我的第一个想法是让一个循环在web worker中运行,每分钟检查我是否在应该显示通知的那一分钟,但我想知道是否有更干净的方法来实现它

有什么想法吗

附言:我不需要任何答案,因为我用的是,我用的是“at”论点,这个问题纯粹是为了好奇/学习

编辑:
你们中的一些人觉得这个问题太宽泛了,事实上它太宽泛了,不太宽泛我不是在问如何发送通知?这就是重点,我正在寻找一个通用的算法/解释,在这里有一个丰富的答案,所以欢迎对任何平台的解释,以帮助每次掌握问题的差异

这真的取决于你的应用程序的位置。如果它在浏览器、节点等中

最简单但也是脆弱的解决方案是计算现在和执行时间之间的差异(以毫秒为单位)。然后用这个差异设置超时。但是,如果浏览器刷新,那么超时当然会消失,除非您再次运行相同的操作


但是如果不了解应用程序的结构和性质,就很难获得更具体的信息。

这将在哪里运行?节点?移动应用程序?我想最好的方法是计算距离目标时间有多长,然后使用SetTimeout。无论在哪里,这都是纯粹的好奇。如果你能给我解释这两个问题,那就太完美了!尝试一下你的想法,然后如果/当你遇到问题时,回来问一些与代码相关的问题,然后为了准确一点,不需要太多不必要的电话,你可以设置一个计时器,以现在和目标日期之间95%的差量运行。继续以95%的频率呼叫,当差异小于1分钟时,只需将其设置为最后一次。有趣!我认为,如果这种魔力在网络工作者身上运行,那么浏览器刷新应该不会是一个问题,对吧?使用网络工作者做这种事情不会有任何好处。如果浏览器刷新,工作人员将被杀死。他们不会坚持。如果你需要一些完整的证明调度程序,你需要一个后端服务,应用程序可以通过一个WebSub来查询或连接以接收通知。好的,这是有意义的,所以我可以认为时间检查MeCANIC应该在服务器端,并向客户端发送一个实时消息,这将显示一个通知的工作。似乎是一个很好的解决方案,特别是对于跨平台应用程序!我投票给你是因为你给了我很好的信息而没有试图攻击我的问题。多谢各位^_^