Amigos, preciso de uma ajuda. Estou desenvolvendo um projeto pessoal a titulo de aprendizado, não tem muito a ver com o conteúdo de um curso específico aqui da alura, mas poderiam me ajudar?
Em uma validação de cadastro, tenho o array errors = [] declarado previamente, e em cada validação de campo, caso haja erro, tenho um array.push( {msg: 'mensagem de erro' } Isso funciona perfeitamente em validações simples como " if (senha !== confirmasenha) " - exemplo hipotetico
Mas no momento de fazer uma query (usando mysql) pra testar se o email já está cadastrado no banco, tenho o seguinte problema:
db.query('SELECT * FROM Users WHERE email = ?', [emailregister], (err, result) => {
if (result.length > 0) {
errors.push( { msg: 'email ja registrado' } )
console.log(errors) //imprime o erro acima com sucesso no array
}
console.log(errors) //da mesma, forma, imprime o erro com sucesso.
})
console.log(errors) // aqui o erro não existe mais.
console.log(errors.length) // retorna 0
Porque isso acontece? O que pode ser feito para contornar? Ate consegui resolver com gambiarra, mas queria uma forma mais elegante...