Nodejs MQTT:设置收到消息后超时

在MQTT第一次接收消息之后,我想要设置超时约1分钟。 如果1分钟内没有更多消息,我想通知一些事情。 有什么办法可以做到吗?

client.on('message', function (topic, message) { // if in one minute timeout, there is no more message // console.log("warning") } 

Client.on()函数只会在收到消息时触发。 setInterval()函数可以在外面使用,一秒钟后会持续运行。 现在计算秒,当它变成一分钟,你可以通知一些事情。 当收到一条消息或者一分钟之后,不要忘记初始化计数器。

下面的代码将检测是否在一分钟内没有收到消息。

 var i = 1 client.on('message', function (topic, message) { console.log(message.toString()) i=1 }) setInterval(function(){ i++ if(i==60) { console.log("No Msg"); i=1; } },1000)