rxjs-patterns

star 5

Master RxJS in Angular with observables, operators, subjects, error handling, and reactive patterns for building responsive applications.

spjoshis By spjoshis schedule Updated 12/30/2025

name: rxjs-patterns description: Master RxJS in Angular with observables, operators, subjects, error handling, and reactive patterns for building responsive applications.

RxJS Patterns in Angular

Master reactive programming in Angular with RxJS observables, operators, and best practices.

Core Patterns

Observable Creation

import { Observable, of, from, interval } from 'rxjs';

// From array
const numbers$ = from([1, 2, 3, 4]);

// From promise
const user$ = from(fetch('/api/user'));

// Interval
const timer$ = interval(1000);

Operators

import { map, filter, switchMap, catchError } from 'rxjs/operators';

this.http.get<User[]>('/api/users').pipe(
  map(users => users.filter(u => u.active)),
  catchError(error => of([]))
).subscribe(users => console.log(users));

Service Pattern

@Injectable({ providedIn: 'root' })
export class UserService {
  private users$ = new BehaviorSubject<User[]>([]);

  getUsers(): Observable<User[]> {
    return this.http.get<User[]>('/api/users').pipe(
      tap(users => this.users$.next(users)),
      catchError(this.handleError)
    );
  }

  private handleError(error: HttpErrorResponse): Observable<never> {
    console.error('Error:', error);
    return throwError(() => new Error('Something went wrong'));
  }
}

Best Practices

  1. Unsubscribe to prevent memory leaks
  2. Use async pipe in templates
  3. Handle errors with catchError
  4. Use shareReplay for caching
  5. Avoid nested subscriptions
  6. Use switchMap for HTTP requests

Resources

Install via CLI
npx skills add https://github.com/spjoshis/claude-code-plugins --skill rxjs-patterns
Repository Details
star Stars 5
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator