• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

173
Views
¿Puedes atrapar el filtro rxjs como atrapar una izquierda?

Me gustaría saber si es posible detectar cuándo la condición del filtro rxjs no es cierta.

Esto es lo que tengo:

 of(1) .pipe( map((d) => d + 1), filter((d) => d === 0), map((d) => d + 1), // this will go in because of the filter ) .toPromise() .then((d) => console.log(d)) // display indefined .catch(() => console.log("ERRRRRROOOOOOR")) // do not display :(

En este caso, me gustaría devolver un dato específico (o al menos arrojarlo) cuando la condición del filtro no es verdadera.

Intenté agregar parámetros al filtro.

 filter(filter((d) => d === 0), "john doe")

Pero esto no muestra la cadena,

Supongo que el equivalente en fp-ts es atrapar la izquierda, pero no sé si puedes hacer programación funcional con rxjs o si solo puedes trabajar con observable. El hecho de que pueda usar tuberías y múltiples operadores permite el uso de esta biblioteca en mi proyecto, por lo que será bueno evitar cambiar la biblioteca.

Muchas gracias !

over 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

¡Necesitas lanzar un error para poder atraparlo!

 of(1) .pipe( map((d) => d + 1), switchMap((d) => { if (d === 0) { return of(d + 1); } throwError(() => new Error('Erroooooor')); }) ) .toPromise() .then((d) => console.log(d)) // display indefined .catch(() => console.log('ERRRRRROOOOOOR')); // thrown if d !=== 0

También podría escribirse usando el operador iif

 of(1) .pipe( map((d) => d + 1), switchMap((d) => iif( () => d === 0, of(d + 1), throwError(() => new Error('Erroooooo')) ) ) ) .toPromise() .then((d) => console.log(d)) // display indefined .catch(() => console.log('ERRRRRROOOOOOR')); // thrown if d !=== 0
over 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!