sqlite.get node js, получить данные и передать их в функцию
Я пытаюсь написать функцию которая возвращает значение из базы данных
Ожидал что функция вернет userStatus но вывод undefined
const sqlite3 = require('sqlite3');
const sql = new sqlite3.Database('users.sqlite');
function getuser(id) {
i = null;
sql.get("SELECT * FROM users WHERE userId=?", id, (err, row) => {
if (row)
{
i = row.userStatus;
}
});
return i;
}
console.log(getuser(1))
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
написать функцию которая возвращает значение из базы данных
Можно сделать вот такой промисный вариант...
const sqlite3 = require('sqlite3');
const sql = new sqlite3.Database('users.sqlite');
function getuser(id) {
return new Promise((resolve, reject) => {
sql.get("SELECT * FROM users WHERE userId=?", id, (err, row) => {
if (err) return reject(err)
const i = row?.userStatus ?? null;
resolve(i)
});
})
}
getuser(1)
.then(i => console.log(i))
.catch(console.log)