首页 > 解决方案 > Angular 2+ 计时器适用于相同的应用程序,最好的方法是什么?

问题描述

我想要两个独立的 Angular 应用程序,它们应该有同步计时器。计时器应该开始,比如说 12 分钟。并计数到 0。这意味着,我在 Angular-App-A 上有一个计时器,它开始启动,而 Angular-App-B 也应该同时启动。如果我在 Angular-App-A 处停止计时器,那么 Angular-App-B 处的计时器也应该停止。当然它应该在任何时候显示相同的时间。我在想如果我在 WebService 上生成一个计时器服务,它会给我状态(开始/停止)和实际时间。但我不确定网络延迟是否会破坏两端的同步?

还是我需要将它与彼此配对的应用程序配对,而不是通过网络服务进行交谈。所以,我可以在 app-A 上启动一个计时器,并在 app-B 上每 1 秒发送一次,但这样我也有延迟。

有谁知道对此有一个好的方法?还是 WebService 是个好主意?

提前谢谢。

标签: javascriptangularweb-servicestimersynchronization

解决方案


这可能是一个解决方案吗?App-A 将在任何开始时从 NTP 服务获取时间。App-A 将(以某种方式)向 App-B 发布计算的结束时间。App-B 将在同一 NTP 服务上获取实际时间并计算休息时间。这可能缺少几毫秒。但我认为这将是一种有效的方法?


推荐阅读