villiwalla
@villiwalla
HTML-верстка

Как повесить промис на методы sqlite и нужен ли промис?

Думаю что проще привести пример кода и его текущего результата, и описание желаемого результата.

Database
'use strict';

class Database {

    constructor() {
        this._sqlite3 = require('sqlite3').verbose();
        this._conn = new this._sqlite3.Database(__dirname + '/database.sqlite');
    }


    findOne(sql, params) {
        let self = this;
        return self._conn.get(sql, params, function (err, row) {
            if(err) throw err;
            console.log(row);
            return row;
        })
    }

User
'use strict';

class User extends Database {
    constructor() {
        super();
    }

   getWorker() {
       let sql = 'select u.*, w.password from users u, workers w where u.id = w.user_id and u.type_id = ?';
       return super.findOne(sql, [1]);
   }

}

Инициализация на странице
let user = new User();
console.log(user.getWorker()); // Приходит объект Database, хотя ожидаю Object просто


Сначала приходит Database когда дернул getWorker и только потом Object c Юзером.
5c86654398fa4369465431.png
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы