2
respostas

Porque criar uma nova Promise

no metodo obterNegociacoesDaSemanaRetrasada vc retorna uma New Promise e chama o this.http.get.

esse método get da classe HttpService já retorna um New Promise, certo?

Porque devo criar um new Promise que chama o get? Nao poderia fazer o metodo obterNegociacoesDaSemanaRetrasada retornar this.http.get ?

O inconveniente poderia ser somente o erro nao "tratado". Sem uma mensagem amigavel.

2 respostas

Opa, pelo que vi no código é usado o XmlHttpRequest e ele ainda não utilizada promises. O código é apenas para "promisificar" esse código antigo.

Eu fiquei com a mesma duvída, mas depois de pensar com cuidado concluí o seguinte:

A classe NegociacaoService executa a promisse responsável pela execução das chamadas HTTP, mas a responsabilidade de adicionar o retorno a lista de negociações é da classe NegociacaoController. Uma vez que já foi executada pela NegociacaoService o retorno é passado adiante através de uma nova promisse, para que o Controller seja o responsável por executar o processamento final das respostas.

Ou seja, as promisses executas pelo Controller executam outras promisses, estas promisses, por sua vez, realizam de fato as requisções HTTP, fazendo com que o resultado seja encapsulado em uma única estrutura.

No fim, temos um funcinamento um pouco parecido como o funcionado do Proxy.

Eu acho né?