Not 100% certain about what you need, but if you only want to observe the first value, then use either first()
or take(1)
:
observable.first().subscribe(func);
note: .take(1)
and .first()
both unsubscribe automatically when their condition is met
Update from RxJS 5.5+
From comment by Coderer.
import { first } from 'rxjs/operators'
observable
.pipe(first())
.subscribe(func);