javascript - 注销 channel 监听器

标签 javascript reactjs twilio twilio-programmable-chat

我有一个包含用户订阅的 twilio 聊天 channel 的列表。当用户点击这些 channel 之一时,聊天打开,消息被加载,用户订阅以使用 this.state.channel.on('messageAdded', message => { doSomething() } )

这一切都很好,但是当用户选择新 channel 时,旧 channel 的监听器仍然处于事件状态。因此,当用户在 channel 之间切换并返回到他已经打开的 channel 时,他将收到两次消息(因为我需要为每个加入的 channel 运行 channel.on('messageAdded')

如何在切换到收听其他 channel 之前注销 channel.on('messageAdded')?

最佳答案

您可以定义一些独特的属性来分隔您的监听器。每次某些用户请求时,您都会创建唯一标识符并保存在客户端本地存储中。每当你想广播你的消息时,首先检查你的消息的标识符,然后如果它们相等则显示它们

关于javascript - 注销 channel 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52429415/

相关文章:

javascript - 保证触发 onmouseout 事件

javascript - 如何解决错误 : 'jsx' isn't currently enabled

javascript - IronJS/Twilio 浏览器软电话

javascript - Twilio 设备状态始终返回离线值

javascript - 如何检查所有箭头函数是否为真?

javascript - 数组碰撞检测中的 p5.js 对象

javascript - Reactjs,当我删除元素时数组索引发生变化

node.js - 使用 AWS Lambda (nodejs) 获取 twilio 使用数据

javascript - 帮助 "Scalable JavaScript Application Architecture"

node.js - "What is causing this ' 表单提交不正确 ' response to my simple node post request?"