如何协调时间跟踪应用程序(本地状态和远程mongodb)

时间:2019-01-16 17:18:38

标签: reactjs mongodb

我有一个时间跟踪应用程序。具有这些功能

1)用户一天的总工作时间。它有一个计时器,使用计时器我可以更新状态。

2)用户在任务上花费了多少时间。我有一个开始停止按钮,当用户单击“开始”按钮时,我将该时刻保存为状态。当用户停止计时器时,我也节省了时间。我减去它们以获得在该特定任务上花费的总时间。

3)用户还可以知道他在每个应用上花费了多少。像chrome-40分钟,firefox-32分钟。我使用相同的概念,当活动窗口更改时,我节省了时间。

我对如何调和mongodb数据库的本地反应状态感到困惑。

就像,我计划每5分钟更新一次mongodb数据库。

一种方法是拥有单一的真理来源mongodb。当我单击开始按钮时,它应该伸出到mongodb,节省时间,然后,我将其更新为本地反应状态。

但是,我也有计时器。用户正在工作时,该计时器一直在计时。我不认为如果我开始在mongodb上节省每一分钟,那将行得通。

因此,总时间-此计时器应在本地工作。整个时间应该存储在本地状态吗?

当用户单击“开始”或“停止”时,我采用开始时间/结束时间(使用时刻日期时间对象),那个时间我应该先发送到mongodb,然后作为响应,将其设置为本地状态?

用户花费多少时间在应用上的方法相同。当用户更改“活动窗口”时,我在mongodb上发送moment.js日期时间对象,然后当我获得响应时,将其保存在本地react状态。

但是,我想知道是否可以说用户非常快速地更改activewindow。就像从chrome迅速过渡到Firefox一样,表现出色。我希望将日期/时间保存到mongodb,然后将响应保存到本地反应状态的整个计划能够正常工作,并且不会引起任何问题。

我朝正确的方向前进吗?有没有更好的方法来处理整个场景?

预先感谢

0 个答案:

没有答案