Fiquei com um pouco de dúvida já que não coloquei nenhum async/await. Isso já é um padrão do node?
Fiquei com um pouco de dúvida já que não coloquei nenhum async/await. Isso já é um padrão do node?
Oi Guilherme, tudo bem? Muitas coisas no Node são assíncronas sim, em suas APIs, era até muito comum o uso de callbacks, porém, com o surgimento da Promise e do async/await, fomos cada vez mais parando de usar callback no Node. Muito disso, vem da arquitetura do Node mesmo, mas é bom notar, tem coisas síncronas no Node também.
Entendi, Wanderson! Mas quando a gente utiliza o mongo e eu teria que passar os métodos para cadastrar, listar, etc da mesma forma, correto? Porque no caso, eu não utilizei nenhum desses recursos pra indicar que o que eu estou fazendo, esta sendo assíncrono e mesmo assim funciona..
static cadastrarLivro = (req, res) => {
const livro = new livros(req.body);
livro.save((err) => {
if (err) {
res.status(500).json({
message: `${err.message} - falha ao cadastrar livro.`,
});
} else {
res.status(201).json(livro);
}
});
};
Se fosse no mysql, ao menos quando fazia localmente utilizando o sequelize ele "exigia" que eu colocasse alguma assincronicidade.
Oi Guilherme, esse trecho de código que você postou é assíncrono, usando callbacks no caso. No caso do uso do Sequelize, pode ser que o seu editor te alerte sobre essas questões por que o Sequelize é um ORM se não me engano com suporte a TypeScript direto nele mesmo. Então ele meio que reclama com você. No geral, praticamente todas as bibliotecas que lidam com algum recurso externo como: Banco de Dados, Requisições, etc, sempre vão seguir algum padrão de comportamento assíncrono, por que é o recomendado, normalmente.
Opa! Agora entendi!!!! Valeu Wanderson! xD