停止以前的帖子请求Node.js?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (84)

TLDR:如何设置POST请求,该请求每秒钟将接收到的数据发送到另一个源,然后当发出相同的POST请求时,它将停止发送旧数据,并每秒钟再次发送新数据。

我有一个带有Express的Node.js服务器正在运行。每当客户机向我的一条路由发出POST请求时,我每秒钟(使用setInterval)向ApacheKafka队列发送数据。当向我的服务器发出新的POST请求时,它会创建setInterval函数的一个新实例,并且实际上每秒钟都发送新数据和旧数据。

我需要Node.js停止将旧数据发送到队列,而是发送新数据。

有什么想法吗?

提问于
用户回答回答于
  1. 有一个中心位置,可以调用setInterval,并保留setInterval的结果。
  2. 使用清除Interval取消以前的setInterval调用
用户回答回答于

你有几个选择。

在创建新计时器之前,请停止Interval Timer对象。当你如此setInterval()它返回一个定时器对象,然后你可以使用它。clearInterval()稍后。需要保存它。然后,当创建新的间隔计时器时,可以调用clearInterval()在老计时器上。

让一个计时器一直运行,只需替换你发送的数据。在这种情况下,只需保持原来的计时器运行,每次触发时更新要发送的存储数据,然后永远不会运行多个定时器。

扫码关注云+社区

领取腾讯云代金券