1
Okeyだから、これはスコープで何かする必要があると思いますが、javascriptにはかなり新しいです。データベースクエリの機能の中でtotalSumは値を持っていますが、誰かを助けてくれますか?JavaScriptのグローバル変数が必要な値に設定されていません
socket.on('sumDoughnut', function(data){
var totalSum = 0;
mysqlConnection.query('SELECT SUM(value) AS Total FROM doughnut', function(err, row, results){
if(err) {io.to(socket.id).emit('err_client', { code : 22 });console.log("MySQL error: " + err);if(err.code === 'PROTOCOL_CONNECTION_LOST'){handleDisconnect();}}
totalSum = row[0].Total;
console.log("here it is " + totalSum);
});
console.log(totalSum + " totalSum")
}
varがTOTALSUM = '0' sumDoughnut'イベント – guest271314
の外にそれはタイミングの問題です '定義してください。クエリコールバックは非同期なので、2番目の 'console.log()'文が実行されてからずっと後になるまで、実行されません。新しい 'totalSum'値を使用することを期待するコードは、コールバックの内側ではなく、コールバックの内側にある必要があります。 – jfriend00
@ guest271314それを試してみたが、役に立たない。 – Nick