node.js - 无法读取 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
解决方案
如本页https://socket.io/docs/v3/emit-cheatsheet/中所述, 您应该将代码更改为此
io.in(room).emit(bag.message.eventType, message)
或者
io.sockets.to(room).emit(bag.message.eventType, message)
推荐阅读
- javascript - 消息收集器响应其他人的消息
- c - yacc 中的默认数据类型
- python - 如何在 python 中模拟烧瓶请求来测试我的程序?
- angular - 不能将 .some() 与对象数组一起使用
- sql - 我想将 int 呈现为 hh:mm:ss 格式
- javascript - 如何限制html中的字符串长度
- javascript - 导出/导入自定义模块时如何计算模块中的函数数量
- amazon-web-services - 如何在 aws root 帐户中修复 AccessDeniedException?
- algorithm - 我们可以使用或转换一个强大的 TSP 算法来找到 Hash 函数的值吗?
- python - 如何在熊猫中优先删除重复项