Skip to content

Instantly share code, notes, and snippets.

@DeadAlready
Last active January 26, 2018 15:15
Show Gist options
  • Save DeadAlready/72370c4cc3adb44c421720e497e96336 to your computer and use it in GitHub Desktop.
Save DeadAlready/72370c4cc3adb44c421720e497e96336 to your computer and use it in GitHub Desktop.
A new parameter
function query(input) {
const _defaults = {
params: []
};
const {sql, params, autorollback} = Object.assign(_defaults, input);
return new Promise((resolve, reject) => {
connection.query(sql, params, (err, resp) => {
if(err && autorollback) {
return resolve(rollback(err));
}
else if (err) {
return reject(err);
}
resolve(resp);
});
});
}
function rollback(err) {
return new Promise((resolve, reject) => {
connection.query('ROLLBACK;', [], (rollbackErr) => {
if(rollbackErr) {
// Fall back to torching the connection
connection.destroy();
console.error(rollbackErr);
}
reject(err);
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment