Javascript setInterval仅在subscription.on上运行一次
我有一个节点脚本,用来存储来自一些微传感器的数据,我正在编写一个setInterval函数,注意到它只在脚本的前3秒左右运行。我能够将错误隔离到脚本的subscirption.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
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这些函数实际上没有太多关系。每当传感器读取读数时,消息事件就会运行。