【问题标题】:News Feed Which Updates With New Content On A Timer在计时器上使用新内容更新的新闻提要
【发布时间】:2015-09-15 23:44:49
【问题描述】:

我有一个新闻提要,并希望每 5 分钟用 15 条新帖子刷新它的内容。在我的 html 页面上,我有一个段落标签作为倒数计时器。当计时器达到 0 时,我想更新提要。

我知道我可以在客户端使用“setInterval(300000)”每 5 分钟请求一次新帖子。但是,我需要计时器独立于客户端而存在,以便为每个用户同时填充新数据。

将数据库请求包装在服务器端的“setInterval(300000)”函数中是否正确,并以某种方式将返回的数据推送到客户端进行处理?如果是这样,将数据发送给客户端的最佳方法是什么?

继续说下去,我如何将我的 html 中的计时器与服务器上的当前倒计时时间同步?以某种方式使用 socket.io 保持连接打开并将当前时间从服务器发送到客户端是否有意义?如果是这样,这种联系会是什么样子?

我使用“Backbone.js”作为前端框架,使用“node.js”和“express”,后端使用“socket.io”。

我熟悉将视图与前端的模型同步。我的问题更多是关于如何用必要的数据填充模型以完成我的任务。

任何帮助,或我可能会找到一些帮助的方向将不胜感激!谢谢!

【问题讨论】:

    标签: javascript node.js backbone.js express timer


    【解决方案1】:

    如果客户端不发出请求,则无法从服务器向客户端发送数据。

    您需要找到让客户端在您希望的同一时间(每 5 分钟服务器时间)发出请求的方法。

    1. 在服务器代码中,定义您要发送请求的时间(每 5 分钟,如 10h15、10h20、...)
    2. 在客户端,当用户登录或在线时,发送下一次请求给客户端。 只需使用 setTimeout 和这个时间客户端从服务器获取,你可以很容易地从服务器获取新帖子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多