데이터베이스 Javascript와의 동기화 문제
코드 동기화 문제가 발생했습니다.그래서 이메일이 고유한지 확인하는 기능은 DB에 대한 쿼리에서 루프보다 빠르게 값을 반환하는 것입니다.실제로 DB의 코드는 마지막으로 끝납니다.
async function isEmalUsed(email)
{
var isUsed = true;
isUsed = await conn.query("SELECT Email FROM Users", (err, rows, meta) => {
if (err) throw err;
for (let i = 0; i < rows.length; i++) {
if (rows[i].Email == email) {
console.log(rows[i].Email)
return false;
}
}
return true;
});
return isUsed;
}
게시 방법:
server.post('/register', async (req, res) => {
if (session.UserID != null)
{
res.redirect('/');
}
let usedEmail = false;
const username = req.body.login;
var haslo = req.body.password;
const email = req.body.email;
var gender = req.body.gender;
var date = req.body.date;
var emailUsage=false;
let flag = false;
flag = await isEmalUsed(email);
console.log(flag);
if (!flag) {
haslo = await hashPassword(haslo);
conn.query("INSERT INTO Users (UserName,Password,Email, BirthdayDate, Gender) VALUES(?, ?, ?, ?, ?)", [username, haslo, email, date, gender], (err, res) => {
if (err) throw err;
else { req.flash('success', "you've been registered!") };
})
res.redirect('/');
}
else {
req.flash('error', 'this email is taken');
res.redirect('/');
}
});
언급URL : https://stackoverflow.com/questions/65293824/problem-with-synchrozation-with-database-javascript
'source' 카테고리의 다른 글
powershell로 문자열을 분할하여 첫 번째 및 마지막 요소 가져오기 (0) | 2023.08.28 |
---|---|
jQuery 클릭 라벨 클릭 시 두 번 실행됩니다. (0) | 2023.08.28 |
Python을 사용하여 Docker에서 MariaDB를 연결할 수 없습니다. (0) | 2023.08.28 |
SSH 터널링을 통해 Python이 MySQL에 연결할 수 있도록 설정 (0) | 2023.08.28 |
Android에서 스레드 또는 프로세스를 일시 중지/슬립하는 방법은 무엇입니까? (0) | 2023.08.28 |