javascript - Asynchron Errorhandling inside $.each -
i on server side node.js , somehow caught in callbacks. use following function insert data in table mysql pkg:
connection.query('insert tablename set ?', post, function(err, result) { if (err) { if (err.code === 'er_dup_entry') { } else { throw err; } } }); i want log how many duplicate entries there without stoping loop calls above function $.each.
it says here have 3 possibilities: throw, callbacks , eventemitter. throwing won't work, since stops everything. tried callbacks, because in callback $.each could'nt find away in above scope. didn't try static eventemitter since don't know how return value $.each selector, except selected data.
any suggestions appriciated.
nest in closure , count finished queries in callback, know when last query finished:
(function(){ var errors = 0; var started = 0; var successful = 0; $.each(..., function(){ started++; connection.query('insert tablename set ?', post, function(err, result) { if (err) { if (err.code === 'er_dup_entry') { errors++; } else { throw err; } } else { successful++;} if (started == successful + errors) { // done console.log(errors + " errors occurred"); } }); }); })();
Comments
Post a Comment