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

103
Visualizações
cómo evitar (o manejar) http 429 programáticamente

Tengo una página con muchas etiquetas <img> (estoy ensamblando esta página mediante programación). Inevitablemente, algunas de las solicitudes de imágenes encuentran http 429. Afortunadamente, el servidor remoto envía un montón de encabezados de respuesta útiles de la siguiente manera

 HTTP/1.1 429 TOO MANY REQUESTS X-RateLimit-Limit: 20 X-RateLimit-Remaining: 20 X-RateLimit-Reset: 1646307858.32 Retry-After: 1

Me pregunto si de alguna manera podría envolver mis etiquetas <img> en un código que capte la response.status http.status y luego use los encabezados anteriores (por ejemplo, el encabezado Retry-After ) para solicitar la imagen fallida nuevamente después de un retraso establecido.

Lógicamente, me parece que lo anterior funcionaría, pero no puedo entender cómo codificar esto. Fwiw, esta es una página web completamente del lado del cliente.

Gracias de antemano por cualquier orientación.

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

0

prueba algo como esto

 window.addEventListener("DOMContentLoaded", function() { const images = document.querySelectorAll("img[data-src]"); let cnt = 0; const loadImage = src => { let img = new Image(); let tgtImage = images[cnt]; img.addEventListener("load", function() { tgtImage.src = this.src }) img.addEventListener("error", function() { setTimeout(function() { loadImage(`${src}`) }, 1000) }) img.src = src; cnt++ if (cnt >= images.length) return; loadImage(images[cnt].dataset.src) } loadImage(images[cnt].dataset.src) })
 <img src="https://dummyimage.com/200x300&text=placeholder" data-src="https://dummyimage.com/200x300&text=image1" /> <img src="https://dummyimage.com/200x300&text=placeholder" data-src="https://dummyimage.com/200x300&text=image2" /> <img src="https://dummyimage.com/200x300&text=placeholder" data-src="https://ERROR.com/200x300&text=image3" /> <img src="https://dummyimage.com/200x300&text=placeholder" data-src="https://dummyimage.com/200x300&text=image4" />

about 4 years ago · Juan Pablo Isaza Relatório

0

lo siguiente funcionó para mí

 <img src="${uri}" onerror="this.onerror=null; setTimeout(() => { this.src='${uri}' },1000);">

gracias @spender por la pista. Gracias también a mplungjan por una solución alternativa que es útil saber aunque no lo sea para mí en este momento.

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