take

Emite las primeras x emisiones del Observable fuente

Signatura

Firma

take<T>(count: number): MonoTypeOperatorFunction<T>

Parámetros

Retorna

MonoTypeOperatorFunction<T>: Un Observable que emite o las primeras count emisiones del Observable fuente, o todas las emisiones si el Observable fuente emite menos de count valores.

Lanza

ArgumentOutOfRangeError Cuando se usa take(i), se lanza un Error ArgumentOutOrRangeError si i < 0.

Descripción

Obtiene los primeros count valores de la fuente, y se completa.

Diagrama de canicas del operador take

take retorna un Observable que emite únicamente los primeros count valores emitidos por el Observable fuente. Si la fuente emite menos de n valores, entonces se emiten todos los valores. Después, se completa el Observable, independientemente de si la fuente se completa o no.

Ejemplos

Emitir las primeras 5 teclas pulsadas

StackBlitz

import { map, take } from "rxjs/operators";
import { fromEvent } from "rxjs";

const key$ = fromEvent<KeyboardEvent>(document, "keydown");

key$
  .pipe(
    map(({ code }) => code),
    take(5)
  )
  .subscribe(console.log);
// Salida: KeyR, KeyX, KeyJ, KeyS, Space

Emitir los primeros 3 títulos de películas de Studio Ghibli

StackBlitz

Ejemplo de la documentación oficial

Obtener los 5 primeros segundos de un Observable infinito de un intervalo de 1 segundo.

Recursos adicionales

Source code

Documentación oficial en inglés

Last updated