在数据库

时间:2017-08-11 15:36:02

标签: javascript ajax express mongoose

我希望在我的服务器上创建一个倒数计时器,它将在前端显示。多个客户端将连接到该站点,因此无论他们何时连接,所有时间都需要同步并且具有相同的计数。 在计时器结束时,我希望在后端执行一个函数,为了举个例子,我只想说一个console.log

倒计时的长度将存储在mongodb数据库中,因此我发送到前端的任何信息都可能必须通过ajax请求。

    startTime: {
        type: Number,
        default: 180
        // 3 minutes in seconds
    }

如何在后端创建倒计时并不断更新视图,以便用户可以看到已经过去的每一秒?一旦该计时器完成,如何在我的服务器上运行一个功能?

如果我的解释有点糟糕,我很抱歉,我已经很长时间没有编程了,这是我第一次真正在网上问过编程相关问题之一 - 谢谢< / p>

1 个答案:

答案 0 :(得分:0)

  1. 创建一个能够为您提供当前时间的端点。
  2. 在前端设置一个间隔,并经常获取该端点。
  3. 示例 - 这只是JavaScript中的伪代码(假装服务器中的端点已经存在):

    function pingCurrentTime() {
        setInterval(() => {
            http.GET('/current-time').then(data => {
                document.getElementById('current-time').innerText = data.currentTime;
            });
        }, 1000);
    }
    

    你可以在页面加载时调用pingCurrentTime函数或其他任何东西。此外,如果您正在进行服务器端渲染,则可以在第一次使用正确的当前时间渲染页面,这样请求页面的每个人都将获得正确的时间,并且它将每秒开始ping以获取更新。