Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Para lidar com promises ... resuminho.

2) Lidar com promises.

Em JavaScript, as Promises são uma forma de lidar com operações assíncronas de uma maneira mais simples e elegante. Em vez de usar callbacks aninhados, as Promises permitem encadear operações e lidar com erros de uma forma mais clara e legível. Para criar uma Promise, você pode utilizar a classe Promise. O construtor dessa classe recebe uma função com dois parâmetros: resolve e reject. A função representa a operação assíncrona que será realizada. O parâmetro resolve é uma função que deve ser chamada quando a operação for bem sucedida e o parâmetro reject é uma função que deve ser chamada quando a operação falhar. Por exemplo, vamos supor que você queira criar uma Promise que retorne um número aleatório após um certo tempo. Você pode fazer isso da seguinte maneira:

function gerarNumeroAleatorio() { return new Promise((resolve, reject) => { setTimeout(() => { const numero = Math.random(); if (numero >= 0.5) { resolve(numero); } else { reject(new Error('Número menor que 0.5')); } }, 1000); }); } Nesse exemplo, a função gerarNumeroAleatorio retorna uma Promise que espera 1 segundo (1000 milissegundos) e, em seguida, retorna um número aleatório maior ou igual a 0.5. Se o número gerado for menor que 0.5, a Promise é rejeitada com uma mensagem de erro. Para utilizar a Promise, você pode chamar o método then para lidar com o resultado da Promise quando ela for resolvida e o método catch para lidar com erros quando a Promise for rejeitada. Por exemplo:

gerarNumeroAleatorio() .then((numero) => { console.log(Número gerado: ${numero}); }) .catch((erro) => { console.error(Erro ao gerar número: ${erro.message}); });

Nesse exemplo, o método then recebe o número gerado pela Promise e o exibe no console. Se ocorrer algum erro, o método catch recebe o objeto de erro e o exibe no console. Além disso, é possível utilizar o método finally para executar uma ação quando a Promise for resolvida ou rejeitada, independentemente do resultado. Por exemplo:

gerarNumeroAleatorio() .then((numero) => { console.log(Número gerado: ${numero}); }) .catch((erro) => { console.error(Erro ao gerar número: ${erro.message}); }) .finally(() => { console.log('Fim da operação'); });

Nesse exemplo, o método finally é executado após o método then ou o método catch, exibindo a mensagem 'Fim da operação' no console.

1 resposta
solução!

Olá Jefferson, tudo bem?

Obrigada por compartilhar sua sugestão sobre como lidar com Promises em JavaScript. Realmente, as Promises são uma forma mais elegante e clara de lidar com operações assíncronas em comparação com callbacks aninhados.

Seu exemplo de como criar uma Promise para gerar um número aleatório após um certo tempo ficou muito bom e claro. Além disso, a utilização dos métodos then, catch e finally para lidar com o resultado da Promise e possíveis erros também foi muito bem explicada.

Acredito que sua sugestão será muito útil para quem está aprendendo a lidar com Promises em JavaScript. Parabéns!

Um abraço e bons estudos.