我有一个问题,我需要在你可以执行一个功能时间隔五秒钟。为什么?因为我已经收听了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() {
//...
}

答案 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);