sql >> Database >  >> RDS >> Mysql

Nodejs MySQL-verbindingsquery retourwaarde naar functieaanroep

Het probleem is dit:

var r = db.demo(query, function(result) { data = result; });

console.log( 'Data : ' + data);

De console.log wordt uitgevoerd voordat de callback-functie wordt aangeroepen, omdat db.demo is asynchroon, wat betekent dat het even kan duren voordat het klaar is, maar al die tijd de volgende regel van de code, console.log , wordt uitgevoerd.

Als u toegang wilt tot de resultaten, moet u wachten tot de callback-functie wordt aangeroepen:

var r = db.demo(query, function(result) { 
  console.log( 'Data : ' + result);
});

Dit is hoe de meeste code die met I/O omgaat in Node zal werken, dus het is belangrijk om erover te leren.




  1. Wikkel enkele invoer in met zijn selectievakje en verzend naar database

  2. De geschiedenis van databases

  3. MySQL Amazon RDS:Time-out voor vergrendelingswachttijd overschreden

  4. Resultaten van geselecteerde query's combineren zonder set-operators te gebruiken (UNION)