Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Fiz uma solução um pouco diferente, é valida ?

Minha solucao foi a seguinde, ao inves de criar uma nova promisse no controller eu puxei a funcao de NegociacaoService passando um callback, veja: negociacaoService

obterNegociacoes(callback){

        Promise.all([
            this.obterNegociacoesDaSemana(),
            this.obterNegociacoesDaSemanaAnterior(),
            this.obterNegociacoesDaSemanaRetrasada()
        ]).then( resolve =>{
            callback(null, resolve.reduce((arrayAnterior, novoArray) => novoArray.concat(arrayAnterior), []))            
        }).catch( erro => {
            callback(erro, null)
        })
    }

Controller

    importaNegociacoes(){

        let negociacaoService = new NegociacaoService();

        negociacaoService.obterNegociacoes((erro, resultado)=>{
            if(erro){
                console.log(erro);
                this._mensagem = 'Não foi possivel importar as negociações'
            }if(resultado){
                resultado.forEach(negociacao => {
                    this._listaNegociacoes.adiciona(negociacao);
                });      
            }
        })
    }
1 resposta
solução!

Fala João, tudo bem?

Nos desculpe pela demora para a resposta! Mas achei muito boa a solução, dessa maneira o método se torna bem mais flexível e generico, porém dessa forma você terá que especificar o que irá ser feito cada vez que você utilizar esse método, então se você for fazer apenas uma coisa, é melhor deixar no próprio método mesmo, ta bom?

Abraços, bons estudos :D