Dwa bardzo różne typy rur kątowych - rury i RxJS - rury
Rura kątowa
Potok pobiera dane jako dane wejściowe i przekształca je w żądane wyjście. Na tej stronie użyjesz potoków do przekształcenia właściwości urodzin komponentu w przyjazną dla człowieka datę.
import { Component } from '@angular/core';
@Component({
selector: 'app-hero-birthday',
template: `<p>The hero's birthday is {{ birthday | date }}</p>`
})
export class HeroBirthdayComponent {
birthday = new Date(1988, 3, 15); // April 15, 1988
}
RxJS - Rura
Obserwowalne operatory są tworzone przy użyciu metody potoku znanej jako operatory potokowe. Oto przykład.
import {Observable, range} from 'rxjs';
import {map, filter} from 'rxjs/operators';
const source$: Observable<number> = range(0, 10);
source$.pipe(
map(x => x * 2),
filter(x => x % 3 === 0)
).subscribe(x => console.log(x));
Wynik tego w konsoli byłby następujący:
0
6
12
18
W przypadku dowolnej zmiennej przechowującej obserwowalną, możemy użyć metody .pipe () do przekazania jednej lub wielu funkcji operatorowych, które mogą pracować nad każdym elementem obserwowalnej kolekcji i przekształcać je.
W tym przykładzie każda liczba z zakresu od 0 do 10 mnoży się przez 2. Następnie funkcja filtrująca filtruje wynik tylko do liczb nieparzystych.