Как обещать sqllite3? - PullRequest
       3

Как обещать sqllite3?

0 голосов
/ 20 марта 2019

Здесь я пытаюсь обещать пакет npm sqllite3. Я получаю ошибки. Что я делаю не так?

код:

const sqlite3 = require("sqlite3").verbose();
var path = require("path");

let db = new sqlite3.Database(
  path.join(__dirname, "..", "db", "some.db"),
  sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
  err => {
    console.log(err);
  }
);

function awaitRunner(db) {
  return async function run() {
    var args = Array.prototype.slice.call(arguments);

    return new Promise(function(resolve, reject) {
      db.run.apply(null, args.concat(cb));

      function cb(err) {
        if (err) {
          reject();
        }
        resolve();
      }
    });
  };
}

async function run() {
  const runner = awaitRunner(db);
  await runner(`CREATE TABLE IF NOT EXISTS Currencies(
        id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
        name text NOT NULL UNIQUE)`);

  db.close();
}

run();

Выход:

(node:91895) UnhandledPromiseRejectionWarning: Unhandled 
promise rejection (rejection id: 2): TypeError: Database object expected
(node:91895) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...