1

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

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

如何在切换到收听其他频道之前取消注册 channel.on('messageAdded') ?

4

1 回答 1

1

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

于 2018-09-20T17:13:43.510 回答