Entendendo Promises no JavaScript
Senti muita dificuldade no inicio para saber como funcionava de fato uma Promise no JavaScript, nessa publicação vou tentar explicar da maneira mais simples possível, que me vez entender promises.
Imagine uma promise de fato como uma Promessa da vida real, ao fazer uma promessa, você cria um objetivo, no caso do JavaScript ela acontece em operações assíncronas, podendo retornar um acerto (then) ou um erro (catch).
.then()
No exemplo da imagem abaixo eu faço uma requisição fetch para a API do github usando uma função assíncrona. Observe que eu uso o "await" antes da requisição, para informar para o JavaScript que ele só pode executar a linha seguinte após essa requisição acabar, independente do tempo que leve. Caso a requisição seja bem sucedida, a resposta é convertida em JSON, como é descrita na função .then()
.catch()
Caso a requisição retorne um erro, ele é direcionado a função .catch() que imprime no console o erro.
Espero que tenham entendido, caso reste alguma dúvida, estou a disposição para responder. E caso eu tenha errado algo na explicação, também estou a disposição para corrigir a publicação.