Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

93
Vistas
Javascript provoca un bloqueo al comienzo del ciclo for antes de realizar un ciclo una vez

Tengo un objeto json que describe el árbol de archivos en un servidor externo, cuando intento iterar a través de los valores del objeto para poder representar el árbol como HTML, todo el navegador falla y se vuelve a cargar inmediatamente al comienzo del bucle. Aquí está mi código:

 HGEClient.send("queryfiletree").then(fileTree => { let renderFolder = function(parentFolder, folder) { this.createCatelogFolder(parentFolder, folder); for(child of Object.values(folder.children)) if(child.type == "folder") renderFolder(folder, child); else this.createCatelogFile(folder, child); } for(location of Object.values(fileTree)) // Crashes here if(location.type == "folder") renderFolder(null, location); else this.createCatelogFile(null, location); });

El objeto en sí no está mal formado y puedo iterarlo en el servidor antes de enviarlo al cliente. He verificado a través del depurador usando puntos de interrupción que el bloqueo es exactamente cuando se asigna un valor a la location la primera vez desde Object.values(fileTree)

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

location también es un objeto de alcance global en el lado del cliente, por lo tanto, para la iteración, la location necesita su propio alcance, preferiblemente al ser un tipo de variable let , de lo contrario, el script se rompe/bloquea.

 const fileTree = [{ type: "folder", id: "foo", }, { type: "folder", id: "bar", }, { type: "file", id: "baz", }]; // `location` needs to be a variable type, preferably `let` // ---v for (let location of Object.values(fileTree)) { if (location.type === "folder") { console.log({ location }); } }
 .as-console-wrapper { min-height: 100%!important; top: 0; }

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda