description |
---|
Recoge todas las emisiones del Observable fuente y las emite en un array cuando este se complete |
Signatura
toArray<T>(): OperatorFunction<T, T[]>
No recibe ningún parámetro.
OperatorFunction<T, T[]>
: Un array formado a partir de la secuencia observable.
Emite todos los valores del Observable fuente en un array cuando este se completa.
toArray espera a que el Observable fuente se complete para emitir un array que contiene todas sus emisiones. Si el Observable fuente emite un error, no se emitirá ningún array.
Emitir un array que contenga los números del 1 al 5
StackBlitz
import { toArray } from "rxjs/operators";
import { range } from "rxjs";
const number$ = range(1, 5);
number$.pipe(toArray()).subscribe(console.log);
// Salida: [ 1, 2, 3, 4, 5]
Emitir un array que contenga las primeras 4 teclas pulsadas
StackBlitz
import { fromEvent } from "rxjs";
import { map, take, toArray } from "rxjs/operators";
const key$ = fromEvent<KeyboardEvent>(document, "keydown");
key$
.pipe(
take(4),
map(({ code }) => code),
toArray()
)
.subscribe(console.log);
// Salida: [ 'KeyR', 'KeyX', 'KeyJ', 'KeyS' ]
import { interval } from "rxjs";
import { toArray, take } from "rxjs/operators";
const source = interval(1000);
const example = source.pipe(take(10), toArray());
const subscribe = example.subscribe((val) => console.log(val));
// Salida: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]