代码完成/智能感知时遇到问题。以下工作是因为我已经正确安装了@types/socket.io
:
// in an express app
let io = require('socket.io')(http);
io.on("connection", ()=>{} );
但在下一种情况下on
socket.on
中未解决:
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('message', function(msg) {
console.log('message: ' + msg);
app.io.emit('chat message', msg);
});
}
如果我转到类型定义,我会看到Socket
扩展NodeJS.EventEmitter
,它具有正确定义的on
属性。如果我在类型定义文件中添加一个条目,以便在 socket.io 类型定义文件中为on
添加一个条目,WebStorm 很高兴 - 在这种情况下socket.on
,但这不是解决方案。
可能是什么问题? 什么是解决方案?
连接事件只是服务器端,表示在其上连接新的套接字。连接事件是客户端的,表示套接字已连接。查看 socket.io 文档