I have the following;
function isUserInDatabase(serverID, playerID) {
return new Promise((resolve, reject) => {
executeQuery("SELECT * FROM playerdata where serverID=" + serverID + " AND playerID=" + playerID).then((res) => {
if (res[0] === undefined) {
resolve(false);
} else {
resolve(true);
}
});
}).catch ((e) => {
console.error(e);
console.log("Error retrieving data from database.");
});
}
But I have no reject call. Is this bad convention?
Edit: I'm honestly not sure if this is better. I've done a bit more reading into promises, and perhaps this is a little better, but I'm not sure.
async function handlePlayer(serverID, playerID) { //TEST
console.log(await isUserInDatabase(serverID, playerID));
}
function isUserInDatabase(serverID, playerID) {
return executeQuery("SELECT * FROM playerdata where serverID=? AND playerID=?", [serverID, playerID]).then((res) => {
if (res[0] === undefined) {
return false;
}
return true;
})
.catch ((err) => {
console.log(err);
});
}
async function executeQuery(query, opts) {
let conn;
try {
conn = await pool.getConnection();
return await conn.query(query, opts);
} catch (err) {
console.log(err);
} finally {
conn.end();
}
}