首页 > 解决方案 > 无法读取 Namespace.emit 处未定义的属性“事件”

问题描述

我已将我的 socket.io 版本从 2 升级到 3,但以下行:

io.sockets.in(room).emit(bag.message.eventType, message)

打破这个错误:

Cannot read property 'EVENT' of undefined at Namespace.emit (/node_modules/socket.io/dist/namespace.js:170:49)

有人可以解释上面代码的 socket.io@3 应该使用什么语法吗?TIA

标签: node.jssocket.iosocket.io-redis

解决方案


如本页https://socket.io/docs/v3/emit-cheatsheet/中所述, 您应该将代码更改为此

io.in(room).emit(bag.message.eventType, message)

或者

io.sockets.to(room).emit(bag.message.eventType, message)


推荐阅读