Показать сообщение отдельно
  #1 (permalink)  
Старый 19.06.2017, 12:15
Новичок на форуме
Отправить личное сообщение для thevalakas Посмотреть профиль Найти все сообщения от thevalakas
 
Регистрация: 29.07.2016
Сообщений: 7

sqlite3 async/await не возвращается результат
'use strict';

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

const db = new sqlite.Database('database.db');

module.exports.register = function (from) {
    db.all("SELECT * FROM users WHERE tele_id = ?", [from.id], function (err, rows) {
        if (rows.length < 1) {

            if (from.last_name === undefined) {
                from.last_name = null;
            }

            if (from.username === undefined) {
                from.username = null;
            }

            db.run("INSERT INTO users (tele_id, first_name, last_name, username) VALUES (?, ?, ?, ?)", [from.id, from.first_name, from.last_name, from.username]);
        }
    });
};

module.exports.balance = async function (tele_id) {
    let balance;

    await db.get("SELECT * FROM users WHERE tele_id = ?", [tele_id], (err, result) => {
        balance = result.balance;
    });

    return balance; // Возвращает Promise { <pending> } а не balance
};


Функция balance должна возвращать баланс пользователя, а возвращает Promise { <pending> }
Ответить с цитированием