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

90
Visualizações
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 Respostas
Responde à pergunta

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 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