Conto Mágico de CódigoLand: Revelando as Promessas do JavaScript
Ao longo da minha travessia pelo universo da programação, enfrentei desafios que pareciam montanhas intransponíveis. Mergulhei em livros espessos, naveguei por artigos intermináveis e me dediquei a cursos que prometiam ser o caminho definitivo para a iluminação técnica. Ainda assim, o conceito de "Assincronismo" em JavaScript continuava a ser meu calcanhar de Aquiles, eram tantos termos e acabava me perdendo entre todos eles.
No entanto, após muita perseverança e incontáveis horas de estudo, finalmente consegui uma compreensão clara desse conceito. Ao atingir essa realização, um pensamento me ocorreu: "E se houvesse uma maneira de simplificar isso? Uma ferramenta ou história que eu pudesse consultar sempre que a dúvida surgisse?".
Foi então que, inspirado pelo meu próprio percurso repleto de obstáculos, decidi criar o conto mágico de CódigoLand. Não apenas como um lembrete para mim, mas como um farol para todos aqueles que, como eu, sentiam-se perdidos
Essa será a parte 01: Onde abordaremos o conceito de promise(Promessa), caso gostem uma segunda parte falaremos sobre Async Await.
Então vamos la?
O cenário: CódigoLand
Imagine uma cidade vibrante chamada CódigoLand. Os prédios são feitos de linhas de código e os rios fluem com algoritmos. Nesta cidade, o correio tem um papel crucial. Mas não é qualquer correio: é o "Promessa Express".
A Promessa do Correio
Quando você decide enviar uma carta através do "Promessa Express", os simpáticos correios não te dão uma data exata de entrega. Em vez disso, eles te garantem com convicção: "Prometemos que sua carta será entregue. Pode demorar, mas chegará!". Esta promessa é uma abstração da Promise
em JavaScript.
const promessaCorreio = new Promise((resolve, reject) => {
let cartaEntregue = true; // para fins ilustrativos
if (cartaEntregue) {
resolve('Carta entregue!');
} else {
reject('Carta perdida...');
}
});
Aqui, temos uma Promise que representa o processo de entrega. Se a carta for entregue com sucesso, a promessa é resolvida. Se algo der errado, ela é rejeitada.
A Resposta da Promessa
A grande questão é: Como saberemos o resultado da nossa carta enviada? Em CódigoLand, logo após o envio, eles te oferecem dois amuletos mágicos: o amuleto .then()
e o amuleto .catch()
.
O amuleto .then()
brilha quando a carta é entregue com sucesso, revelando a mensagem. O amuleto .catch()
, por outro lado, brilha quando algo dá errado, mostrando o motivo da falha.
promessaCorreio
.then(resultado => console.log(resultado))
.catch(erro => console.log(erro));
Quando usar as Promessas?
Promessas são especialmente úteis quando você tem operações que podem demorar um tempo desconhecido para serem concluídas, como pedir uma pizza em uma noite de grande movimento ou buscar dados de uma API sobrecarregada.
Conclusão
O conto mágico de CódigoLand não nasceu apenas da minha vontade de entender um conceito, mas de pavimentar um caminho mais simples para outros aventureiros. A cada vez que relembro ou compartilho essa história, sou lembrado da minha jornada, das noites em claro e da sensação de triunfo ao superar um desafio. Espero que este conto sirva como uma fonte de inspiração e esclarecimento, assim como foi para mim naqueles momentos de incerteza.