gpt4 book ai didi

node.js - Node.js 中的 MongoDb 监听器

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:46 25 4
gpt4 key购买 nike

我想根据条件监听 MongoDb 集合中的新记录,并通过 Socket.Io 将它们发送给客户端

据我所知,它应该看起来像这样:

var lastTime = Date.now();
while(true) {
getRecordsLaterThan(lastTime, function(results) {
if (results) {
for (let result of results) {
lastTime = result.created_on;
// send result via Socket.Io
}
}
});
// sleep(200 ms)
}

我对 Node 和 JS 还很陌生,有时仍然很难理解它的执行流程。在这种情况下,a 无法弄清楚如何在每次迭代后使循环休眠。

我也怀疑也许 Node 应该以完全不同的方式完成。

最佳答案

经过一番阅读后,我想我发现了如何使用递归和 setTimeout 以特定于 Node 的方式完成它:

var lastTime = Date.now();

function listen() {
getRecordsLaterThan(lastTime, function(results) {
if (results) {
for (let result of results) {
lastTime = result.created_on;
// send result via Socket.Io
}
}
});
setTimeout(listen, 200);
}

listen();

关于node.js - Node.js 中的 MongoDb 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29577629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com