我有一个包含用户订阅的 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/