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

Dúvida sobre o parâmetro "resolve"

Olá, eu estou com uma dúvida em relação ao resolve neste código de exemplo do professor:

<script>

        let promise = new Promise((resolve, reject) => {
            setTimeout(() => resolve('PROMISE RESOLVIDA'), 5000);
        });

        promise.then(resultado => console.log(resultado));
    </script>

Por que o resolve é chamado no formato de uma função ao invés, por exemplo, de ser chamado dessa forma:

 let promise = new Promise((resolve, reject) => {
            setTimeout(() => resolve = 'PROMISE RESOLVIDA', 5000);
        });

Eu sei que dá erro na parte da lógica porque a mensagem não aparece no console, mas eu queria entender o porquê disso, já que o console não retorna nenhum erro.

2 respostas
solução!

Olá Júlio, tudo bem? Sobre a sua dúvida, se voce der um console.log(typeof(resolve)) vai ver que ele retorna "function", ou seja, os parametros da promise são duas funções callback. Tanto o quanto o reject são funções.

Fonte: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Using_promises

Obrigado!