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