Javascript 为什么更新几个Twilio IPM通道的消费范围失败?

Javascript 为什么更新几个Twilio IPM通道的消费范围失败?,javascript,twilio,Javascript,Twilio,我的webapp中有几个打开的Twilio IP消息通道。然后,我尝试使用几个开放频道的updateLastConsumedMessageIndex按顺序更新消费范围。我通过处理.then来处理updateLastConsumedMessageIndex返回的承诺,而then处理程序中的通道数据表明请求未得到满足,因为通道的lastConsumedMessageIndex仍然是旧的 可以通过递归调用updateLastConsumedMessageIndex修复此问题,直到消费范围更新。 示例代

我的webapp中有几个打开的Twilio IP消息通道。然后,我尝试使用几个开放频道的
updateLastConsumedMessageIndex
按顺序更新消费范围。我通过处理
.then
来处理
updateLastConsumedMessageIndex
返回的承诺,而
then
处理程序中的通道数据表明请求未得到满足,因为通道的lastConsumedMessageIndex仍然是旧的

可以通过递归调用
updateLastConsumedMessageIndex
修复此问题,直到消费范围更新。 示例代码:

function updateChannelConsumptionHorizon (channel) {
  let lastMessageIndex = channel.messages[channel.messages.length - 1].index
  channel.updateLastConsumedMessageIndex(lastMessageIndex).then(channel => {
    if (channel.lastConsumedMessageIndex !== lastMessageIndex) {
      setTimeout(() => {
        updateChannelConsumptionHorizon(channel)
      }, 100)
    }
  })
}

有趣的事实是,第一次调用
updateChannelConsumptionHorizon
不需要多次尝试,而随后的调用最多需要60次尝试来更新消费范围。

Twilio限制对消费范围的更新,默认情况下每10秒将其发送到服务器。用于更新
消费报告\u间隔

您是我的英雄。非常感谢。