Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何将后端计时器与移动应用程序同步_Angularjs_Node.js_Mongodb_Express_Timer - Fatal编程技术网

Angularjs 如何将后端计时器与移动应用程序同步

Angularjs 如何将后端计时器与移动应用程序同步,angularjs,node.js,mongodb,express,timer,Angularjs,Node.js,Mongodb,Express,Timer,我正在开发一个应用程序,可以选择一个用户,并且有15秒的时间。该用户响应的计时器。用户应用程序每5秒查询一次数据库,查看是否选择了该用户。如果是这样,移动应用程序将开始15秒。计时器。问题是,计时器永远不会匹配,因为用户应用程序可能处于与后端不同的计时器周期,并且可以稍后查询数据库。我使用Angular、NodeJS和expressJS+MongoDB开发这个应用程序 关于如何同步计时器有什么建议吗?您需要创建请求当前服务器时间的API,并使用该服务器时间作为计时器的基础 您还需要考虑浏览器暂停

我正在开发一个应用程序,可以选择一个用户,并且有15秒的时间。该用户响应的计时器。用户应用程序每5秒查询一次数据库,查看是否选择了该用户。如果是这样,移动应用程序将开始15秒。计时器。问题是,计时器永远不会匹配,因为用户应用程序可能处于与后端不同的计时器周期,并且可以稍后查询数据库。我使用Angular、NodeJS和expressJS+MongoDB开发这个应用程序


关于如何同步计时器有什么建议吗?

您需要创建请求当前服务器时间的API,并使用该服务器时间作为计时器的基础

您还需要考虑浏览器暂停javascript执行时的条件。这对于移动设备来说是正确的。当移动设备暂停/睡眠时,浏览器停止javascript执行,导致计时器不再同步


每个滴答声,用当前滴答声毫秒检查最后一滴答声毫秒。如果差异大于某个阈值,则假定计时器不再同步,需要通过请求当前服务器时间进行同步,并重新计算计时器值

我忘记提到的是后端的计时器可以随时启动。我的意思是,计时器只有在满足某些条件时才会关闭,因此它可以随时关闭,并在满足条件时停止。因此,获取当前服务器时间不允许我知道后端计时器当前在哪里