为了账号安全,请及时绑定邮箱和手机立即绑定

GetStream.io 聊天 API - 停止侦听 Stream 中的频道事件

GetStream.io 聊天 API - 停止侦听 Stream 中的频道事件

茅侃侃 2022-06-16 17:23:40
我对如何使用 Stream Chat API 停止在 JS 中侦听频道事件的文档感到困惑。 根据文档:// remove the handler for all "message.new" events on the channelchannel.off("message.new", myChannelEventHandler);是什么myChannelEventHandler?我channel.on看起来像这样,来自示例 Angular 应用程序:this.channel.on('message.new', event => {    this.messages = [...this.messages, event.message];});这是myChannelEventHandler文档中唯一一次引用,任何指导将不胜感激。
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

我建议重构代码,以便您可以在内部引用您的函数channel.off。这更像是一个 JavaScript 语言问题


const myChannelEventHandler = event => {

    this.messages = [...this.messages, event.message];

}


this.channel.on('message.new', myChannelEventHandler);


// remove the handler for all "message.new" events on the channel

// Apply this whenever you need

channel.off("message.new", myChannelEventHandler);


查看完整回答
反对 回复 2022-06-16
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

感谢Taplar,我得到了这个工作。解决方案就这么简单:


定义一个消息事件处理程序,并为 Angular 组件类创建一个属性:


messageEventHandler = event => {

    this.messages = [...this.messages, event.message];

};

对通道使用事件处理程序:


this.channel.on('message.new', this.messageEventHandler)

对通道关闭使用相同的事件处理程序:


this.channel.off('message.new', this.messageEventHandler)


查看完整回答
反对 回复 2022-06-16
  • 2 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信