Node.js中的MongoDb监听器

我想根据条件来侦听MongoDb集合中的新logging,并通过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很新,有时候很难理解它的执行stream程。 在这种情况下,无法弄清楚如何在每次迭代之后使循环hibernate。

另外我也怀疑,也许应该用完全不同的方式来完成Node。

经过一些阅读,我想我发现它应该如何使用recursion和setTimeout以节点特定的方式完成:

 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();