function renderCarousel(value) { let carouselSize = []; let tempImg = []; for(let i = 0; i<value; i++){ tempImg[i] = new Image(); tempImg[i].onload = function(){ saveImages(); } function tryLoadImage(){ return (tempImg[i].src = 'images/' + i + '.jpg'); } function saveImages(){ console.log(tryLoadImage(i) + i) return(carouselSize[i]=tryLoadImage()); } console.log(tryLoadImage(i) + '2'); } } renderCarousel(10);¿Por qué obtengo un bucle infinito dentro de la función saveImages? Estoy desarrollando un carrusel de imágenes, así que estoy creando una cantidad x de objetos de imagen, pero algo sale mal.
Técnicamente, no es un bucle infinito, pero eventualmente activará su onload cada vez que asigne una cadena a la propiedad src , independientemente de si ya se configuró antes.
Cambie tryLoadImage(i) a tempImg[i].src dentro de la definición de saveImages() para evitar una recuperación infinita.