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
Post a Comment