首页 > 解决方案 > Socket.io - UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“发出”

问题描述

我写了这个:

io.sockets.connected[socketId].emit() // I'm sure `socketId` exists and connected.

但是会出现错误:

(node:2416) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'emit' of undefined
    at ~/transmister/transmister-server-and-web/server.js:71:60
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:2416) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 5)

我的 Socket.io 版本是"socket.io": "^2.3.0".

此 API 是否已弃用?还是我的代码有问题?

标签: javascriptnode.jssocket.io

解决方案


我发现我的数据库有问题,而不是 socket.io。现在已经修好了。


推荐阅读