currentUserWait$

by pointzerotwo

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/5.4.3/Rx.min.js"></script>

JavaScript

const _user = new Rx.BehaviorSubject(null);
const currentUser$ = _user.asObservable().distinctUntilChanged();
const currentUserWait$ = currentUser$.filter(user => user != null);

const u1 = currentUser$.subscribe(val => console.log('currentUser', val));
const w1 = currentUserWait$.subscribe(val => console.log('currentUserWait1', val));

_user.next('a')
_user.next(null)
_user.next('b')
const w2 = currentUserWait$.subscribe(val => console.log('currentUserWait2', val));
_user.next('c')
_user.next('c')
_user.next(null)
const w3 = currentUserWait$.subscribe(val => console.log('currentUserWait3', val));
_user.next(null)
_user.next('d')