Sqlite Nodejs неправильно возвращает ожидаемое значение вне метода класса - PullRequest
0 голосов
/ 25 марта 2020

Я уже несколько часов обматываю голову, пока нет решения

Моя база данных выглядит примерно так:

   rollno     name

     23       helloworld

Я создал отдельный файл js для обработки своей базы данных и я импортировал свой класс

//main.js
  const DBs = require('./db')
  DB=new DBs('database.sqlite3')
  console.log(DB.get('23'))

Вот обработка базы данных js, метод get - то, где возникает проблема,

//db.js

const sqlite3 = require('sqlite3').verbose();


class DBs
{
    constructor(name) {
            this.db = new sqlite3.Database(name, (err) => {
            if (err) {console.log('Could not connect to database', err)} 
            else {console.log('Connected to database')}
            })}

     get(id){

        return this.db.get(`SELECT * FROM students WHERE rollno = ?`,[id],(err,row)=>
         {
            if (err) {console.log('ds',err)} 
            else { console.log('yay:',row.name);return row}
         })

    }

}

module.exports = DBs

консоль регистрирует row.name внутри метода get правильно, но когда я консоль войти в основной метод, я не получаю значения базы данных, вместо этого я получаю

Database { open: false, filename: 'database.sqlite3', mode: 65542 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...