限制NodeJS中的功能

时间:2018-05-16 22:45:07

标签: javascript node.js

我有一个问题,我需要在你可以执行一个功能时间隔五秒钟。为什么?因为我已经收听了Arduino串口,所以当我按下按钮时,arduino串口会返回很多信号,但在我的节点代码中,我想每五秒处理一个信号,然后执行sound()功能,我怎么能做到的?



serialport.on("open", function() {
  console.log("Serial Port Opend");
  serialport.on("data", function(data) {
    var start = Date.now();
    if (data[0]) {
      sound();
    }
  });
});

function sound() {
  //...
}




1 个答案:

答案 0 :(得分:1)

尝试使用油门功能,例如lodash中的油门功能

https://lodash.com/docs/4.17.4#throttle

var _ = require('lodash');

serialport.on("open", function() {
  console.log("Serial Port Opend");
  serialport.on("data", function(data) {
    var start = Date.now();
    if (data[0]) {
      sound();
    }
  });
});

var sound = _.throttle(function () {
  //...
}, 5000);