Há divergência no código dos cursos 2 e 3. Tentei realizar o mesmo esquema que o professor de varias maneira já, mas nada deu certo, continua fazem import das Negociacoes sem parar.
importaNegociacoes() {
let service = new NegociacaoService();
let promise = service.obterNegociacoesDaSemana();
let promise2 = service.obterNegociacoesDaSemanaAnterior();
let promise3 = service.obterNegociacoesDaSemanaRetrasada();
Promise.all([
promise,
promise2,
promise3]
)
.then(negociacoes => negociacoes.filter(negociacao =>
!this._listaNegociacoes.negociacao
.some(ngc=>JSON.stringify(negociacao)==JSON.stringify(ngc))))
.then(negociacoes =>{
negociacoes
.reduce((arrayAchatado,array) => arrayAchatado.concat(array),[])
.forEach(negociacao =>{
return this._listaNegociacoes.adiciona(negociacao)
});
this._mensagem.texto = 'Negociação da semana importada com sucesso';
})
.catch( error => this._mensagem.texto = error )
}
Esse próximo que testei, aparentemente deu certo:
importaNegociacoes() {
let service = new NegociacaoService();
let promise = service.obterNegociacoesDaSemana();
let promise2 = service.obterNegociacoesDaSemanaAnterior();
let promise3 = service.obterNegociacoesDaSemanaRetrasada();
Promise.all([
promise,
promise2,
promise3]
)
.then(negociacoes =>
negociacoes
.reduce((arrayAchatado,array) => arrayAchatado.concat(array),[])
.filter(negociacao =>
!this._listaNegociacoes.negociacao
.some(ngc=>JSON.stringify(negociacao)==JSON.stringify(ngc)))
)
.then(negociacoes =>
negociacoes
.forEach(negociacao =>{
return this._listaNegociacoes.adiciona(negociacao)
this._mensagem.texto = 'Negociação da semana importada com sucesso'
})
)
.catch( error => this._mensagem.texto = error )
}