Я просматриваю некоторый код nodejs и обнаружил что-то, что мне не подходит. Это связано с обработкой событий сокета. Похоже, что обработчик сообщений on, объявленный в обработчике подключений, использует объект сокета, который был передан во время события соединения. Эта переменная действительна позже, когда произошло событие сообщения? Вот схема кода:
Кажется, это работает, но я не уверен, правильно ли это.
io.on('connection', (socket) => {
socket.on('message', (msg) => {
socket.emit('data', databuf)
}
})
Имеет ли оператор socket.emit допустимый объект сокета в этот момент?