Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

blacklist.adiciona retorna uma Promise porque?

blacklist.adiciona, nessa função lá no manipula-blacklist ela é async, porém não tem 'return' nela, então ela não está retornando nada.. Não entendi o porque dizer que ela retorna uma promise. Ou é porque toda função async retorna Promise mesmo eu não retornando nada com o return? Poderia me tirar essa dúvida.

2 respostas
solução

Oi, Jocimar!

Ótima pergunta. É isso mesmo! Toda função async retorna uma Promise. Você pode testar isso rapidamente usando o interpretador do node no terminal. Pode criar uma função async vazia semRetorno() e imprimir o resultado dela.

async function semRetorno() {};
console.log(semRetorno());

Você vai ver que o resultado é algo do tipo:

Promise {
  undefined,
  domain:
   Domain {
     domain: null,
     _events:
      [Object: null prototype] {
        removeListener: [Function: updateExceptionCapture],
        newListener: [Function: updateExceptionCapture],
        error: [Function: debugDomainError] },
     _eventsCount: 3,
     _maxListeners: undefined,
     members: [],
     [Symbol(kWeak)]: WeakReference {} } }

Ou seja, é uma Promise. Dessa forma, o async/await é apenas um açúcar sintático para escrever Promises.

Aqui na Alura você pode encontrar cursos como o EcmaScript 8 e 9, que tratam desse assunto e muito mais.

Se tiver mais alguma dúvida é só falar!

Um grande abraço!

Beleza. Obrigado pela dica.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software