A Subscription represents an ongoing connection to a stream or Observable, allowing emitted values to reach a subscriber over time. Subscriptions make the push model explicit: subscribing starts a lazy Observable, while unsubscribing ends the connection. section 9.3.1 section 9.4.1
Its minimal interface contains one unsubscribe method. The implementation supplies the cleanup appropriate to the producer, such as clearing a setInterval that emits values intermittently. section 9.4.1
Subscribe, then unsubscribe
const obs$ = Observable.of('The', 'Joy', 'of', 'JavaScript'); const subs = obs$.subscribe({ next: console.log }); subs.unsubscribe(); The returned object separates receiving events from ending the stream connection.

