だから、これは私が机に頭をぶつけています。これが私に問題を与えるコードです。
サーバー:
client.on('get-online-clients', function () {
connection.query('SELECT CLIENTS FROM DB', function(err, rows, fields) {
if (err) throw err;
client.emit('update-clients', rows);
console.log(rows);
});
});
クライアント:
socket.on('update-clients', function(rows) {
console.log(rows);
});
ここで私の問題は、console.log(rows) 出力がサーバー側で印刷されると、ノード コンソールで、DB クエリの結果から期待どおりに「行」配列が入力されることです。ただし、console.log(rows) からの出力がクライアント側で出力される場合、「rows」変数は未定義です。
これは非常に単純なコードのはずですが、私のベストを尽くしています。上記のコードとほぼ同じように機能する他のソケット エミットがありますが、この特定のエミットにはそれがありません。
何か案は?