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

Dúvida em Promise

Estou em dúvida nessa linha de código:

ConnectionFactory
            .getConnection()
            .then(connection => new NegociacaoDao(connection)) // Quando o 'constructor' é chamado o retorno dele também é uma promise?
            .then(dao => dao.listaTodos())
...

Acontece que você está retornando uma objeto de NegociacaoDao, mas na linha abaixo está "tratando" como se fosse uma promise, pegando normalmente com o then.

Minha dúvida é: A chamada do método constructor, através do new retorna uma promise?

2 respostas
solução!

O then pode retornar o resultado de uma promise ou outro resultado qualquer em seu return. Como usamos arrow function sem {} ela faz um return implícito. No primeiro then é retornada uma instancia de NegociacaoDao que não é uma promise. Essa instância é acessada no próximo then. Dessa instancia o metodos listaTodos retorna uma promise e na proxima chamada then temos acesso ao resultado promise.

Tudo bem meu aluno?

Resumindo, o constructor não retorna uma promise.

Perfeito professor. Essa era a dúvida. Então o arrow function que faz todo esse processo implicitamente. Show. Muito obrigado!