prepared_statement_info.js 650 B

12345678910111213141516171819202122232425262728293031
  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. return new this.Promise((resolve, reject) => {
  11. const done = makeDoneCb(resolve, reject);
  12. if (parameters) {
  13. s.execute(parameters, done);
  14. } else {
  15. s.execute(done);
  16. }
  17. });
  18. }
  19. close() {
  20. return new this.Promise((resolve) => {
  21. this.statement.close();
  22. resolve();
  23. });
  24. }
  25. }
  26. module.exports = PromisePreparedStatementInfo;