2016-03-24 2 views
-1

クエリを実行しようとすると、すべてがうまくいく しかし、テーブルに結果を格納しようとすると、 私のテーブルは空ですが、 〜 console.log(テーブル);クエリの後に私は結果の値で私のテーブルを見ることができます。私は本当になぜこれをやっているのか分かりません。なぜMySQLクエリの結果が私のテーブルにプッシュされていないのですか

var addToList = []; 
mysqlPool.getConnection(function(err, con){ 
    if(err) throw err; 
    var requestSQL = "SELECT * FROM quests WHERE quest_id = ?"; 
    con.query(requestSQL, ["1"], function(err, result){ 
    if(err){ 
     console.log(err); 
     con.release(); 
     return; 
    } 
    else{ 
     addToList.push(result[0]["quest_id"]); 
    } 
    }); 
}); 

console.log(addToList); 

答えて

0

これは、ノードの非同期性によるものです。 getConnection()が直ちに戻り、console.log(addToList)が実行され、空の配列がコンソールに表示されます。その後、あなたのgetConnection()コールバックが実行されます。

+0

よく、おかげで何かを見つけよう –

関連する問題