Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

146
Views
Cómo usar el filtro con dos Observables y devolver solo uno en rxjs

Tengo una parte del código que verifica si dos observables están actualizados y devuelve el segundo observable si lo están:

 combineLatest([$source1, $source2]).pipe( filter(([source1, source2]) => source1.id === source2.id), map(([_, source2]) => source2) );

¿Cómo podría simplificar el código?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

puede usar el operador iif rxjs, por lo que puede suscribirse a un observable u otro según una condición

 combineLatest([$source1, $source2]).pipe( mergeMap( ([s1, s2]) => iif(() => s1.id === s2.id, of(s2), EMPTY) ) ).subscribe(console.log);
about 4 years ago · Juan Pablo Isaza Report

0

Si desea que la parte superior de su tubería sea source2 (lo que significa que no tiene ningún mapeo de flujo extraño), y si desea que su código se lea en inglés simple, entonces puede escribir su código de esta manera.

 emitWhenSourcesAreEqual$ = sample( combineLatest([source1$, source2$]).pipe( filter(([source1, source2]) => source1?.id === source2?.id) ) ); output$ = source2$.pipe(emitWhenSourcesAreEqual$);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!