【发布时间】:2016-11-14 23:56:55
【问题描述】:
我有一个 JavaScript 脚本来检查某个 subreddit 中是否有新帖子。 Reddit 神奇地在每个链接上提供了一个 JSON 端点。在这种情况下,我有以下端点:
https://www.reddit.com/r/webdev/new.json?limit=1
然后我使用 node.js 的请求模块来获取我需要的特定数据,例如域、selftext、作者和域。然而,每次发布新帖子时都会发生这种情况,因此我使用 setInterval 函数每隔几秒钟检查一次是否发布了新帖子(它就像某种轮询)。我将每个帖子的唯一 ID 保存到 mongo 以防止重复发布,因为这会假设每个帖子在每个请求上都是新的。
所以结构是这样的:
setInterval(function () {
request({
uri: redditEndpoint,
json: true
}, function (error, response, body) {}) });
// I then save the data sent to mongo as unique to prevent double posting
// I consume the data here
}, 1000);
我想摆脱这种方法并转向 websockets。但是我不确定如何在这样的端点上正确实现 websocket,最好使用 socket.io
【问题讨论】:
标签: javascript node.js rest websocket socket.io