функции getUser получить данные и вернуть в функцию login. Обе они указаны как async, но только при попытке поставить перед строкой user_data=getUser() ключовое слово await, то возникает ошибка, типа нужно втсавлять только в асинк функции. Если без слова await функция возвращает промисе. Подскажите плиз как разрешить эту ситуацтию?
:
async function getUser(user){
const {username, password} = user
try {
const {db_conn} = db
const client = await db_conn();
await client.connect();
user_data = await client.query(
"SELECT * FROM users WHERE username=$1 AND password=$2;",
[username, password]
);
await client.end();
return user_data.rows
} catch (error) {
console.log(error.message);
}
}
async function login(req, res) {
let body = [];
req.on("data", (chunk) => {
body.push(chunk);
});
req.on("end", () => {
body = qs.parse(Buffer.concat(body).toString());
try {
user_data = getUser(body);
console.log(user_data);
res.end("Succesfull login");
console.log("Succesfull login");
} catch (error) {
res.end("Something went wrong or log pas doestn correct");
console.error(error.message);
}
});
req.on("error", (err) => {
console.error(err.message);
});
}
не лучше ли пул создать вместо клиента?
да, но я пока новичок, поэтому хочу с одним соединением научуться работать.Так сказать изучать с низов
а все решил . Добавил слово async перед колбэком
но у тебя там тоже плохо с кодом, прям зарезал бы тебя на кодревью(
Пока у меня только база по js. На практике учусь писать. Думал сначала просто писать и постепенно улучшать. Если есть хорошие советы по ускорению этого процесса, буду премного благодарен)
тоже рекомендую линтер с распространённым конфигом настроить, чтобы за кодстайлом следил
нееее наоборот, он за кодом должен следить, а не линтер бля
я там опечатался, линтер - чтобы по рукам бил за говнокод
аааа, тогда все встает на места
Обсуждают сегодня