現在、アプリのすべてのユーザーに対して単一の mysql 接続を使用しています。プールの使用を開始したいのですが (もっと最適化する必要がありますよね?)、「構造的な」問題があります: createPoolメソッドはコールバックでしか機能せず、接続を socket.io に渡す方法がわかりません。イベント。
つまり、server.js ファイルには、接続が構築されるポイントがあります。
pool.getConnection(function(err, connection) {
//I'm supposed to use the connection here
}
そして、ソケットイベントが「キャッチ」されるポイントがあります
io.sockets.on('connection', function(socket){
socket.on('userLogin', function(id_user){
//I need the connection here to run a query with 'id_user'!
});
});
2番目のポイントでは、接続が必要であり、実行できます
connection.query('SELECT bla bla bla...', function(err, data){
connection.end();
});
これが、アプリに接続しているすべてのユーザーに対して異なる接続を確立する唯一の方法だと思いますが、接続を socket.io の「スペース」に「渡す」方法が本当にわかりません。