mysql - NodeJS - For loop - Wait for a callback to continue -


i trying query, foreach id in array, data mysql database. loop looks following

for(var = 0; < res.length; i++) {     var steamid = res[i].steamid;     db.query('select `name` `users` `steamid`=?', [steamid], function(err, rows) {         var player = {name: rows[i].name};         team.push(player);     }); } 

but problem loop continues before query finished , var i increased 1 or two.

is there way check if query has finished?

just use closure refers correct index.

function finished(){...}//called when fetched data var nbdone = 0; res.foreach(function(elem, i){     var steamid = elem.steamid;     db.query('select `name` `users` `steamid`=?', [steamid], function(err, rows) {         var player = {name: rows[i].name};         team.push(player);         nbdone++;         if(nbdone == res.length){           finished();//you know of queries have completed         }     }); }); 

you may want have @ promises or async in order handle asynchronous flows


Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -