Consegui simplificar ainda mais o código do Desafio, fucionou corretamente.
Controller
importaNegociacao(){
let service = new NegociacaoService();
service.obterNegociacoes(this._listaNegociacoes.adiciona , this._mensagem.texto)
}
Service
obterNegociacoes(acao, texto){
Promise.all(
[this._obterNegociacaoDaSemana(),
this._obterNegociacaoDaSemanaAnterior(),
this._obterNegociacaoDaSemanaRetrasada()]
)
.then(negociacoes => { negociacoes
.reduce((arrayAchatado, array) => arrayAchatado.concat(array), [])
.forEach(negociacao => acao(negociacao));
texto = 'Negociações importadas com sucesso';
})
.catch(erro => texto = erro );
}