RxJS - Contagem do Operador de Criação

count () pega um Observable com valores e o converte em um Observable que fornecerá um único valor. A função de contagem assume a função de predicado como um argumento opcional. A função é do tipo booleano e adicionará valor à saída somente se o valor for verdadeiro.

Sintaxe

Aqui está a sintaxe para Count -

count(predicate_func? : boolean): Observable

Parâmetros

predicate_func - (opcional) Função que irá filtrar os valores a serem contados da fonte observável e retornar um valor booleano.

Valor de retorno

O valor de retorno é um observável que contém a contagem dos números fornecidos.

Vejamos alguns exemplos de contagem sem predicado e com função.

Exemplo 1

O exemplo a seguir não tem função de predicado -

import { of } from 'rxjs';
import { count } from 'rxjs/operators';

let all_nums = of(1, 7, 5, 10, 10, 20);
let final_val = all_nums.pipe(count());
final_val.subscribe(x => console.log("The count is "+x));

Resultado

The count is 6

Exemplo 2

O exemplo a seguir é com função de predicado -

import { of } from 'rxjs';
import { count } from 'rxjs/operators';
let all_nums = of(1, 6, 5, 10, 9, 20, 40);
let final_val = all_nums.pipe(count(a => a % 2 === 0));
final_val.subscribe(x => console.log("The count is "+x));

A função que usamos na contagem é fornecer a contagem apenas de números pares.

Resultado

The count is 4