私はNode JSを初めて使っています。私はデータベースを照会しようとしていますが、単にsocket.ioを使ってフロントエンドにデータを送信しますが、断続的にデータを送信している/フロントエンドにデータを送信していないことがわかりました。私は、クエリがまだ完了しておらず、続行する前に結果がアクセス可能になるのを待っているのだろうかと疑問に思っていたため、この背後に理由があると仮定しています。私は、以下のようにソケット内のデータベースにアクセスするために、NPMのMySQLを使用していNode.JS - 機能を実行する前にチェック結果があります
:ここ
var mysql = require('mysql');
var connection = mysql.createConnection(
{
host : 'localhost',
user : 'root',
password : '',
database : 'db'
}
);
は私のクエリです:
connection.query(queryString, function(err, result, fields){
if(err) throw err;
socket.emit('emitFunction', result);
});
私は個人的にはフロントエンドではなくノードでこのようなことをしています。 –
* "これは、まだクエリがまだ完了していないため、この理由があると仮定しています。" *いいえ、そうではありません。 'function'(コールバック)は、結果がそこに来るまで*起動しません。これが、単に '' socket.emit(...) 'がコールバック関数の中にある理由の全体です。結果をソケットに書き込む前にログに記録します。いくつかのタイムスタンプも記録します。ログ、ログ、ログ。 –