socket.emit in while循环

时间:2015-07-29 22:14:31

标签: javascript node.js socket.io

我试图每1秒向服务器发出一些JSON。

duplicated()

我得到一个空白的控制台大约20秒然后出现以下错误:

while (i > 1) { var checkData = setInterval (function () { var db = new sqlite3.Database('hud_db_master.sqlite3'); db.all("SELECT * FROM hud ORDER BY col_id DESC LIMIT 1;", function(err, rows) { console.log(rows); var jsonData = JSON.stringify(rows); socket.emit('clientMessage', jsonData, 'Pi-Voyager'); }); }, 1000); }

在搞乱setInterval之前,我能够在执行时成功发出一次数据。

1 个答案:

答案 0 :(得分:1)

你在开始时调用while (i > 1) {但是从不把它带到1以下,这使它进入一个无限循环,直到内存不足

如果你删除了while循环,你仍应该根据我的意图成功实现预期结果

编辑:

此外,您的数据库没有意义,因为您每隔一秒创建一个新数据库。将呼叫转移到循环的db创建外部