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?