Your combineLatest returns nothing. No errors. Just silence. Here's why and the ONE line fix.
combineLatest waits for ALL observables to emit at least once. Your form just loaded. Search hasn't been typed. Filters haven't changed. So it waits. Forever.
The fix? startWith(). One operator. Immediate emission.
TIMESTAMPS
0:00 - The combineLatest trap revealed
0:11 - Why your data seems "stale"
0:21 - Why combineLatest waits forever
0:33 - The ONE line fix (startWith)
0:50 - Key takeaway
BEFORE (waits forever):
combineLatest([search$, filters$])
AFTER (emits immediately):
combineLatest([search$.pipe(startWith('')), filters$.pipe(startWith({}))])
RESOURCES
RxJS combineLatest: https://rxjs.dev/api/index/function/c...
startWith: https://rxjs.dev/api/operators/startWith
BUILD. SHIP. SCALE.
NG Forge — Production Angular for Senior Developers
#angular #rxjs #combineLatest #typescript #webdev #programming #shorts