可以在连接状态为1的时候再添加连接状态监听的事件吗

若安 2天前 24

wfc.eventEmitter.on(EventType.ConnectionStatusChanged, (status) => {
    if (status === 2) {
        console.log('+++++++++++++++++++++++++++++++', status);
        wfc.eventEmitter.on(EventType.ConnectionStatusChanged, (status) => {
            console.log('----------------------------------', status);
        })
    }
})

因为我们公司之前用的腾讯IM,现在打算用咱们的产品,因为不想改动前端太多代码,我打算通过咱们野火实现腾讯的API,实现无痛迁移

比如腾讯里的被踢下线就是一个独立的事件监听

我想把这个逻辑单独抽离出来,但是我发现只要是连接状态为1再添加状态监听就没有效果了

最新回复 (1)
  • x86 2天前
    引用 2
    你这样做没意义,或者说不对。

    调用 wfc.eventEmitter.on 时,会注册一个监听,不需要时,需要移除,否则会导致内存泄漏。

    你上面的代码,会导致每次连接状态变化时,都注册一个新的监听;

    另外,eventEmitter 的监听数量是有限制的,太多了,会导致注册不上。
返回