Un Observable (dalla libreria RxJS) rappresenta un flusso di valori nel tempo a cui è possibile sottoscriversi. Angular utilizza RxJS in modo pervasivo — le richieste HTTP, gli eventi del router, i form e EventEmitter sono tutti basati su Observable — quindi comprenderli è essenziale.
Observable vs Promise
Promise: a SINGLE future value, eager, can't cancel
Observable: ZERO-to-MANY values over time, lazy (runs on subscribe), CANCELLABLE
