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

68
Views
Concat llamada api indeterminada usando rxjs

Me gustaría consultar una Api que devuelva dada y el next elemento que contenga la siguiente URL para llamar.

Cuando next es nulo, significa que se envían todos los datos.

 getData(url?: any) { if (!url) { url = `https....../geojson/geo/?srid=xxx&code=xx&jsonb_as_text=false&page_size=10`; } return this.httpClient.get(url, { headers }).pipe( flatMap((res: any) => { if (res.next) { this.getData(res.next); } return res; }) ); }

En realidad, el componente solo recibe la primera llamada, pero no la segunda.

¿Cómo puedo encadenar bien las llamadas a la API y combinar los resultados?

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

0

Probablemente desee utilizar el operador de expand . Es recursivo: cada respuesta llama a la devolución de llamada del operador. Puede usar toArray para recopilar todas las respuestas como una matriz. Puede usar scan o ningún operador para procesar resultados inmediatos mientras los demás se están cargando.

 getData(url) { return this.httpClient.get(url, { headers }) } getAllData() { const url = `https....../geojson/geo/?srid=xxx&code=xx&jsonb_as_text=false&page_size=10`; return this.getData(url).pipe( expand((res: any) => { if (res.next) { return this.getData(res.next); } return EMPTY; }), toArray(), map(responses => responses.flatMap(response => response.items)) ); }
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!