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

289
Visualizações
Resuelva varias llamadas de red a la vez en reaccionar

Quiero descargar datos de series temporales de un servicio de descanso. Actualmente, tengo la siguiente implementación.

 async function getTimeSeriesQuery(i) { // Using this to show how gql is being used appollo.query(getChunkQueryOptions(i)) } var promises = [] for(var i = 0; i < numberChunks; i++) { promises.push(getTimeSeriesQuery(i)) }
 const data = Promise.all(promises)

imagen.png Imgae de consultas fragmentadas

Esperaba que las promesas tomaran la misma cantidad de tiempo que una promesa, pero parece escalar con la cantidad de promesas que tengo en la lista de promesas.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El tiempo de ejecución de cada promesa no tiene nada que ver con el número de promesas en la lista ni con el tiempo de ejecución de otra promesa.

Promise.all no comienza la ejecución de Promises, solo espera a que finalicen. Si todas las Promesas ya se resolvieron antes (por ejemplo, si todas las solicitudes HTTP ya terminaron), Promise.all se resolverá en un valor casi de inmediato, porque simplemente no hay nada que esperar. Promise.all, da en una lista los resultados de cada promesa.

Ejemplo: Tenemos una lista de 2 promesas: - 1 toma 10s - 2 toma 1s Promise.all tomará 10s.

about 4 years ago · Juan Pablo Isaza Relatório

0

Como se mencionó, la duración de cada solicitud no se puede determinar de antemano.

Sin embargo, si desea esperar a que se complete todo, debe agregar las promesas en su matriz (lo que no hace el fragmento que publicó). Y si desea los datos en una variable, deberá usar .then o await los resultados.

Por lo tanto, debe devolver la promesa real de su getTimeSeriesQuery

 async function getTimeSeriesQuery(i) { // Using this to show how gql is being used // was missing the return return appollo.query(getChunkQueryOptions(i)) } var promises = [] for(var i = 0; i < numberChunks; i++) { promises.push(getTimeSeriesQuery(i)) } const data = await Promise.all(promises)
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