如何在发出事件Socket.io后侦听事件

我想在nodejs服务器上构建一个SQL处理程序服务器端。

我希望我的nodejs接收来自客户端的请求-例如:

client.js

socket.emit("sql-query", "SELECT * FROM *");
socket.on('sql-response', results => {
    do things with results...
}

server.js

socket.on('sql-query', query => {
    connection.query(query, function(error, results, fields)) {
        if(results > 0) socket.emit('sql-response', results);
        else console.log('No results... yet !');
    }
});

问题是,如果我这样做了,每个需要发出SQL请求的函数都会得到sql-response事件。

我希望我的emit返回结果,而不必捕获另一个事件(使用SQL请求的每个文件都会捕获该事件)。

如下所示: server.js

socket.on('sql-query', query => {
    connection.query(query, function(error, results, fields)) {
        if(results > 0) socket.return(results); //I know this is wrong and that's not how events work.
    }
});

一般想法:使用nodejs / socket.io服务器从其他文件发出SQL请求。

请告诉我这样做是否令人头疼,以及是否有其他更好的方法来实现这一点。

谢谢

转载请注明出处:http://www.intrusion-fire.net/article/20230526/1245453.html