【问题标题】:Executing a function at the end of a countdown timer from a database在倒数计时器结束时从数据库执行函数
【发布时间】:2017-08-11 23:39:48
【问题描述】:

我希望在我的服务器上创建一个倒数计时器,该计时器将在前端可见。多个客户端将连接到该站点,因此无论他们何时连接,所有时间都需要同步且计数相同。 在计时器结束时,我希望在后端执行一个函数,例如,让我们说一个 console.log

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

开始时间: { 类型:数字, 默认值:180 // 3 分钟,以秒为单位 }

如何在后端创建倒计时并不断更新视图,以便用户可以看到每一秒的过去?一旦计时器结束,如何在我的服务器上运行函数?

抱歉,如果我的解释有点糟糕,我已经很久没有编程了,这是我第一次真正在网上问过与编程相关的问题 - 谢谢

【问题讨论】:

    标签: javascript ajax express mongoose


    【解决方案1】:
    1. 创建一个可以为您提供当前时间的端点。
    2. 在前端设置间隔,并每隔一段时间获取该端点。

    示例 -- 这只是 JavaScript 中的伪代码(假设您的服务器中的端点已经存在):

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

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

    【讨论】:

    • 啊,好的,谢谢。我会试一试。感谢您的回复。
    • 当然可以。如果它对您有帮助,请随时接受答案,以便其他有类似问题的人可以看到它。
    • 如果您想要更详细的答案,请提供您的服务器语言和您的 UI 框架(如果有),我可以快速模拟一些东西。但是我展示的示例确实是您实现所需的全部内容。
    猜你喜欢
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2013-01-22
    • 2018-04-08
    • 2021-03-20
    相关资源
    最近更新 更多