Javascript setInterval仅在subscription.on上运行一次

Javascript setInterval仅在subscription.on上运行一次,javascript,node.js,setinterval,Javascript,Node.js,Setinterval,我有一个节点脚本,用来存储来自一些微传感器的数据,我正在编写一个setInterval函数,注意到它只在脚本的前3秒左右运行。我能够将错误隔离到脚本的subscirption.on部分 const subscription = pubsub.subscription(config2.gcpPubSubSubscriptionName); subscription.on('message', message => { storeEvent(message); message.ack

我有一个节点脚本,用来存储来自一些微传感器的数据,我正在编写一个setInterval函数,注意到它只在脚本的前3秒左右运行。我能够将错误隔离到脚本的subscirption.on部分

const subscription = pubsub.subscription(config2.gcpPubSubSubscriptionName);

subscription.on('message', message => {
  storeEvent(message);
  message.ack();
});
删除此选项后,setInterval将按预期工作。为什么上面的代码会导致setInterval出错

这是我的时间间隔

let i =0
async function notificationQueue(){
  i++
  console.log('setInterval ran '+i)
}
setInterval(notificationQueue, 2000);

设置间隔在哪里?我的设置间隔不是问题,而是订阅。在我的代码部分,请注意编辑器中的
图标。您可以创建读取器可以运行
订阅的代码段。on
仅在订阅发出
消息
事件时才会运行回调
消息=>{…}
。可能是您的回调没有运行,因为它从未发出过?这里不需要设置
setInterval
,因为订阅在接收数据时将发出
消息
事件-上的
正在将事件处理程序附加到此事件。@psilocybin这些函数实际上没有太多关系。每当传感器读取数据时,消息事件就会运行。设置间隔在哪里?我的设置间隔不是问题,而是订阅。在我的代码部分,请注意编辑器中的
图标。您可以创建读取器可以运行
订阅的代码段。on
仅在订阅发出
消息
事件时才会运行回调
消息=>{…}
。可能是您的回调没有运行,因为它从未发出过?这里不需要设置
setInterval
,因为订阅在接收数据时将发出
消息
事件-
上的
正在将事件处理程序附加到此事件。@psilocybin这些函数实际上没有太多关系。每当传感器读取读数时,消息事件就会运行。