输出消息node.js的间隔

时间:2017-12-07 20:24:24

标签: node.js

这么多消息。我如何做周期性输出?

ws.on('message', function incoming(message) 
{
    var obj = JSON.parse(message);
    var objj = JSON.parse(obj.data);
    console.log( objj.ui_price);
);

2 个答案:

答案 0 :(得分:0)

实现缓冲区并定期打印并转储缓冲区。例如:

var buffer = [];
ws.on('message', function incoming(message) 
{
    var obj = JSON.parse(message);
    var objj = JSON.parse(obj.data);
    buffer.push(objj.ui_price);
    if(buffer.length >= 20) {
        console.log(buffer);
        buffer = [];
    }
});

答案 1 :(得分:0)

要每2秒仅输出一次最新价格,您可以这样做:

let recentPrice = -1;
setInterval(function() {
    if (recentPrice !== -1) {
        console.log(recentPrice);
        recentPrice = -1;
    }
}, 2000);

ws.on('message', function incoming(message) {
    let obj = JSON.parse(message);
    let objj = JSON.parse(obj.data);
    recentPrice = objj.ui_price;
});

你真的在JSON中嵌入了JSON吗?或者,您是否可以跳过JSON.parse(obj.data)并直接参考obj.data.ui_price