Estou com uma dúvida nesse curso. Na aula 4 - item 6, o código escrito utiliza o retorno implicito como se fosse uma Promise, mas sem declarar promise , como abaixo:
class Service()
...
lista() {
  return ConnectionFactory
          .getConnection()
          .then(connection => new NegociacaoDao(connection))
          .then(dao => dao.listaTodos())
          .catch(erro => {
              console.log(erro);
              throw new Error('Não foi possível obter as negociações')
            })
}E depois o mesmo é chamado na classe de Controller assim:
class Controller()
...
_init() {
    this._service
        .lista()
        .then(negociacoes =>
            negociacoes.forEach(dado =>
                this._listaNegociacoes.adiciona(negociacao)))
        .catch(erro => this._mensagem.texto = erro);
}E inclusive no vídeo da aula, funciona perfeitamente. Porém, na minha aplicação isso não funciona. Só funcionou quando declarei promise nos retornos, os códigos ficaram assim:
class Service()
...
lista() {
        return new Promise((resolve, reject) => {
            ConnectionFactory
                .getConnection()
                .then(connection => new NegociacaoDao(connection))
                .then(dao => {
                    resolve(dao.listaTodos())
                })
                .catch(erro => {
                    console.log(erro);
                    throw new Error('Não foi possível obter as negociações');
                });
        })
}
______________________________________________________________________
class Controller()
...
_init() {
        this._service
            .lista()
            .then(negociacoes => {
                negociacoes.forEach(negociacao =>
                    this._listaNegociacoes.adiciona(negociacao))
            })
            .catch(erro => {
                this_mensagem.texto = erro;
            });
}Sabem me informar porquê não funcionou como explicado na aula??? Ocorreu alguma mudança no ES6 da data da aula até hoje que barrou isso?
 
            