Fiquei com um pouco de dúvida já que não coloquei nenhum async/await. Isso já é um padrão do node?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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