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

178
Visualizações
Loop over an array and call an API for every 2 items for every 10 seconds and get data - JS

I am looping over an array and calling an endpoint to fetch data per item. I want to call every 2 items together, then wait for 10 seconds and call the next two items and so on until the list is complete. I tried a solution but its not working. Please help me on what I am doing wrong.

Here is the code.

const data = [{
  name: '1',
  id: 1,
}, {
  name: '2',
  id: 2,
}, {
  name: '3',
  id: 3,
}, {
  name: '4',
  id: 4,
}, {
  name: '5',
  id: 5,
}, {
  name: '6',
  id: 6,
}]

const result = data.reduce(async(a, c, i) => {
  let counter = 0;
  if (counter > 2) {
    setTimeout(() => {
      counter = 0;
    }, 10000)
  }
  const res = await a;
  res.push({
    name: c.name,
    id: c.id,
    title: (await (await fetch(`https://jsonplaceholder.typicode.com/posts/${c.id}`)).json()).title
  })

  await counter++;


  return res
}, Promise.resolve([]))

result.then(a => console.log(a))

about 4 years ago · Juan Pablo Isaza
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