1
resposta

Merge

Boa tarde!

Primeiramente parabéns pelo curso, elucidou várias dúvidas que eu tinha!! Fiquei apenas com uma a respeito do merge, em relação a essa parte do código:

todasAcoes$ = this.acoesService.getAcoes().pipe( tap(() => { console.log('Fluxo Inicial'); }) ); filtroPeloInput$ = this.acoesInput.valueChanges.pipe( debounceTime(ESPERA_DIGITACAO), tap(() => { console.log('Fluxo do Filtro'); }), tap(console.log), filter( (valorDigitado) => valorDigitado.length >= 3 || !valorDigitado.length ), distinctUntilChanged(), switchMap((valorDigitado) => this.acoesService.getAcoes(valorDigitado)), tap(console.log) ); acoes$ = merge(this.todasAcoes$, this.filtroPeloInput$);

Eu acredito que, como sou iniciante em Angular, seja algum conceito que não tenha entendido desse trecho de código. O cálculo de todasAcoes$ só é feito uma única vez, correto? Quando o usuário começa a digitar no input, a ação valueChanges começa a ser invocada e consequentemente trazer os registros filtrados. Sempre que eu alterar o valor de this.todasAcoes$ ou this.filtroPeloInput$ o merge será feito novamente? Quando faço a primeira pesquisa e o valor de this.filtroPeloInput$ é preenchido, quando for executado o merge, o valor de this.todasAcoes$ estará vazio?

Obrigado!

1 resposta

Oi José, tudo bem?

Primeiramente desculpe a demora em dar um retorno. Esse curso relativo a sua dúvida foi desativado e recebeu uma versão nova, você pode conferir a versão nova aqui:

Caso você tenha dúvidas você pode abrir um tópico nesse curso novo. Irei finalizar esse tópico aqui.

Um abraço e bons estudos.