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

我对如何使用 Stream Chat API 停止在 JS 中侦听频道事件的文档感到困惑。 根据文档:


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

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

是什么myChannelEventHandler?


我channel.on看起来像这样,来自示例 Angular 应用程序:


this.channel.on('message.new', event => {

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

});

这是myChannelEventHandler文档中唯一一次引用,任何指导将不胜感激。


茅侃侃
浏览 126回答 2
2回答

喵喔喔

我建议重构代码,以便您可以在内部引用您的函数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 needchannel.off("message.new", myChannelEventHandler);

慕运维8079593

感谢Taplar,我得到了这个工作。解决方案就这么简单:定义一个消息事件处理程序,并为 Angular 组件类创建一个属性:messageEventHandler = event => {    this.messages = [...this.messages, event.message];};对通道使用事件处理程序:this.channel.on('message.new', this.messageEventHandler)对通道关闭使用相同的事件处理程序:this.channel.off('message.new', this.messageEventHandler)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript