Dica RxJS [filtro, takeWhile]
Esta dica aborda a diferença entre os operadores filter e takeWhile da biblioteca RxJS .
Segundo a documentação oficial:
filtro
Filtre os itens emitidos pela fonte Observable emitindo apenas aqueles que satisfaçam um predicado especificado.
takewhile
Emite valores emitidos pela fonte Observable desde que cada valor satisfaça o predicado fornecido e, em seguida, conclua assim que esse predicado não for satisfeito.
Portanto, ambos os operadores usam uma função de predicado como o primeiro argumento que é invocado para cada valor emitido pelo fluxo de origem.
No entanto, o Observable retornado pelo operador do filtro nunca cancelará a assinatura do fluxo de origem. Vale a pena notar que o operador de filtro não pode ser usado para cancelar implicitamente a assinatura do Observable de origem quando uma função de predicado não for satisfeita:
Por outro lado, o fluxo retornado pelo operador takeWhile cancelará a assinatura do Observable de origem e emitirá a notificação completa assim que uma função de predicado retornar um valor falso. Como resultado, o operador takeWhile pode ser usado para cancelar implicitamente a assinatura do fluxo de origem com base em uma determinada condição:
Vale a pena observar que o Observable de origem não emite a notificação completa, no entanto, a função de retorno de chamada passada para o operador finalize é invocada no encerramento do fluxo, seja na conclusão ou no cancelamento da assinatura. Além disso, você pode controlar se o último valor emitido pelo fluxo de origem será ou não passado para a saída Observable (o segundo argumento do operador takeWhile que é falso por padrão).
Exemplo ao vivo:
Se você gostou da dica, por favor me dê alguns aplausos





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)