prepared_statement_info.js 694 B

1234567891011121314151617181920212223242526272829303132
  1. 'use strict';
  2. const makeDoneCb = require('./make_done_cb.js');
  3. class PromisePreparedStatementInfo {
  4. constructor(statement, promiseImpl) {
  5. this.statement = statement;
  6. this.Promise = promiseImpl;
  7. }
  8. execute(parameters) {
  9. const s = this.statement;
  10. const localErr = new Error();
  11. return new this.Promise((resolve, reject) => {
  12. const done = makeDoneCb(resolve, reject, localErr);
  13. if (parameters) {
  14. s.execute(parameters, done);
  15. } else {
  16. s.execute(done);
  17. }
  18. });
  19. }
  20. close() {
  21. return new this.Promise((resolve) => {
  22. this.statement.close();
  23. resolve();
  24. });
  25. }
  26. }
  27. module.exports = PromisePreparedStatementInfo;