RxJS: Operator takeWhile

Opublikowano: - tagi:

Operator takeWhile wysyła dane z obiektu Observable do momentu, gdy zdefiniowany warunek zostaje spełniony. Jeśli określony warunek nie zostanie spełniony dane z Observable przestają być wysyłane.

Przykład

import { interval } from 'rxjs';
import { takeWhile } from 'rxjs/operators';

const timer$ = interval(1000);

timer$.pipe(
    takeWhile(value => value <= 3)
).subscribe(console.log);
// 0
// 1
// 2
// 3

Do operatora takeWhile przekazujemy funkcję, w której definiujemy warunek, jaki musi zostać spełniony, żeby dane były emitowane ze źródła. Jeśli tak zdefiniowany warunek nie zostanie spełniony obiekt Observable zakończy wysyłanie danych.


RxJS: Operator take

Opublikowano: - tagi:

Operator take służy do pobrania N razy danych wysłanych z Observable.

Na przykład chcemy nasłuchiwać tylko trzy raz zdarzenia kliknięcia klawisza Enter. Później już nie chcemy pobierać sygnałów z Observable.

Przykład

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

const observable = fromEvent(document, 'keydown').pipe(
    filter(event => event.key === 'Enter'),
    take(3),
    map(event => event.key)
);

observable.subscribe(console.log);

Comics: Deadline

Opublikowano: - tagi:

Podsumowanie: Sierpień 2022

Opublikowano: - tagi:

W sierpniu opublikowałem 9 wpisów:


RxJS:

  1. Operator filter

Webstorm:

  1. Jak zlokalizować nieużywany kod w projekcie?

Inne:

  1. Ubuntu: Jak sparować słuchawki Airpods Pro?

JavaScript:

  1. Jak zapobiec zmianie wartości tablicy?
  2. Czym jest czysta funkcja?
  3. Jak stworzyć głęboką kopię zagnieżdżonego obiektu?
  4. Jak pominąć niektóre właściwości obiektu?

Narysowałem dwa komiksy:

  1. Big problem, small steps
  2. "Is task ready?" Driven Development

Przeczytałem cztery książki:

  1. Marsjanin - Andy Weir
  2. Projekt zdrowie - Anders Hansen, Carl Johan Sundberg
  3. Zemsta najlepiej smakuje na zimno - Joe Abercrombie
  4. Legenda o samobójstwie - David Vann

Przesłuchałem cztery audiobooki:

  1. Czarny dom - Stephen King, Peter Straub
  2. Ta druga - Therese Bohman
  3. How to Have a Beautiful Mind - Edward De Bono
  4. Norwegian Wood - Haruki Murakami

JavaScript: Jak pominąć niektóre właściwości obiektu?

Opublikowano: - tagi:

Załóżmy, że mamy obiekt jak poniżej:

{
	name: 'Some product',
	price: 100,
	currency: 'PLN',
	weight: 1.5,
	size: 'L'
}

I chcielibyśmy pobrać większość właściwości tego obiektu, ale pozbyć się niektórych. Na przykład chcemy pominąć: weight i size. Jak rozwiązać ten problem?

Możemy użyć operatora spread: .... Przykład

const obj = {
	name: 'Some product',
	price: 100,
	currency: 'PLN',
	weight: 1.5,
	size: 'L'
};

const { weight, size, ...newObj } = obj;

console.log(newObj);

Wynik:

{
	name: 'Some product',
	price: 100,
	currency: 'PLN'
}