使用节点js每秒加载一次查询

时间:2019-01-17 07:34:35

标签: javascript sql node.js

我想在插入后选择数据,所以我想要的是每秒检查一次是否有新数据。我创建一个选择查询,然后尝试使用控制台日志显示它。请帮助我,我是新手。这是我的代码

控制器

var number = 244.70;

// Arabic in most Arabic speaking countries uses real Arabic digits
console.log(new Intl.NumberFormat('ar-ae', {
  style: 'currency',
  currency: 'AED'
}).format(number));

路由器

var connection = require('../../config/db');

function myQuery(callback) {
this.pushActivity = function(req, res, next) {
    var salesman_id = req.query.salesman_id
    connection.acquire(function(err, con) {
        con.query('SELECT * FROM `activities` where salesman_id="'+salesman_id+'" and kunci="0" and created=NOW()', function(err, data) {
            con.release();
            if (err) {
                return res.json({ status: 400, message: 'Failed', result: [] });
            } else {
                console.log(data)
                // return res.json(data);
            }
        });
    });
};
callback();
}

function wait10sec(){
 setTimeout(function(){
     myQuery(wait10sec);
 }, 10000);
}

myQuery(wait10sec);

module.exports = new myQuery();

3 个答案:

答案 0 :(得分:1)

这不是一个好的高效方法。与其使用此方法,而是尝试在放置请求上使用侦听器来更改数据,然后在更改事件之后执行Get查询并输出更改的数据。请使用Socket.io Library这样的目的。

答案 1 :(得分:0)

您可以使用socket.io。 通过此模块,您可以将实时事件发送到服务器并获得响应。

例如,当发送新数据时,您可以选择查询或向用户发送发射或在控制台日志上显示它

答案 2 :(得分:0)

您可以通过添加

来创建工作程序
setInterval(function(){        
  //run query and console        
}, 1000) and you can set time