Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] como obter o resultado de uma promise

Vamos lá entendi na aula o conceito do Promise com as funções async que são usadas em funções que recebem um Promise

minha duvida é a seguinte como recebo algo dessa função que tem um Promise.

exemplo meu Promise

function chamaPizza(){
    return new Promise((resolve, reject) => {
        let entregue = true;

        if (entregue) {
            resolve({entregue: "pizza entregue"});
        }else {
            reject({entregue: "houve um problema"})
        }
    })
}

na função resposta como vou obter o resultado pizza entregue ou houve um problema

async function resposta(){
    let retorno = await chamaPizza();
    
    return retorno.entregue;
2 respostas
solução!

Oi, Jorge! Como vai?

Ótima pergunta! Para obter o resultado de uma função que retorna uma Promise, podemos usar async/await para esperar a resposta antes de continuar a execução. Como uma Promise pode ser resolvida (resolve) ou rejeitada (reject), usamos try...catch para lidar com ambos os casos.

  • Se a Promise for resolvida, pegamos o valor com retorno.entregue.
  • Se houver um erro (a Promise for rejeitada), capturamos o erro no catch e acessamos error.entregue.
async function resposta() {
    try {
        let retorno = await chamaPizza();
        console.log(retorno.entregue); // Isso vai imprimir "pizza entregue" se a Promise for resolvida
    } catch (error) {
        console.log(error.entregue); // Isso vai imprimir "houve um problema" se a Promise for rejeitada
    }
}

resposta();

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Obrigado pela ajuda, foi de grande importancia para eu entender o conceito.