Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

73
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda