Skip to solution
mediumFrontend

What is the difference between Observables and Promises?

524 views
01

Understand the problem

Compare RxJS Observables with Promises.

rxjsobservables
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Nudge consolestandby

Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.

03

Study the solution

A Promise resolves once with a single value and isn't cancelable. An Observable is a lazy, cancelable stream that can emit many values over time and supports powerful operators (map, switchMap, debounceTime). Angular's HttpClient and EventEmitter return Observables.

Solution ready — 2 min read

Classified // press E to declassify

04

Read the code

One value vs a stream
import { Observable, interval, map, take } from 'rxjs';

// Promise — runs now, resolves once
const p: Promise<number> = Promise.resolve(42);
p.then(v => console.log('promise:', v));

// Observable — lazy until subscribe, emits a stream, cancelable
const stream$: Observable<number> = interval(1000).pipe(
  map(n => n * 10),
  take(3),                                  // 0, 10, 20 then complete
);
const sub = stream$.subscribe(v => console.log('observable:', v));
// sub.unsubscribe();  // cancels the work
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.

Transmission complete // awaiting log

KEEP THE
STREAK ALIVE.

Dossier 53 of 121 decoded in the Angular track. One more won't hurt.

Back to track