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

161
Views
¿Qué es una alternativa de forkJoin que permite completar solicitudes paralelas si una de ellas falla?

Quiero ejecutar algunas solicitudes en paralelo usando forkJoin y combinar sus resultados como se muestra a continuación. Sin embargo, cuando una de las solicitudes falla, el navegador cancela automáticamente el resto de las suscripciones. ¿Cuál es una alternativa simple a forkJoin que me permite ejecutar solicitudes en paralelo y si una suscripción falla, el resto puede completarse?

 const posts = this.http.get("https://myApi.com/posts?userId=1"); const albums = this.http.get("https://myApi.com/albums?userId=1"); forkJoin([posts, albums]).subscribe((result) => { this.print(result[0], result[1]); }); print(res1, res2) { const message = res1.text + res2.text; console.log(message); }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede lograrlo usando forkJoin , sin embargo, debe manejar los errores para cada sub Observable por separado usando catchError para evitar cancelar la transmisión si ocurre algún error.

Puedes intentar algo como lo siguiente:

 // import { catchError } from 'rxjs/operators'; // import { forkJoin, of } from 'rxjs'; const posts = this.http .get('https://myApi.com/posts?userId=1') .pipe(catchError((err) => of(err))); const albums = this.http .get('https://myApi.com/albums?userId=1') .pipe(catchError((err) => of(err))); forkJoin([posts, albums]).subscribe((result) => { this.print(result[0], result[1]); });
about 4 years ago · Juan Pablo Isaza Report

0

Yo haría una función como

 forkJoinReplaceErrors<T,R>( observables: Observable<T>[], ifError: ObservableInput<R> ) { return forkJoin( observables.pipe( catchError(() => ifError) ) ); }

y luego use eso en lugar de forkJoin . Entonces es más reutilizable y se puede probar la unidad.

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!