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

212
Visualizações
El registro de la matriz de la consola está vacío

Tengo estos dos ejemplos de código:

no1

 const r = new Array(); for (i = 0; i < 5; i++) { const vari = 'print'; r.push(vari); } console.log(r);

el registro de la consola de esto es [ 'print', 'print', 'print', 'print', 'print' ]

no2 (usando Cheerio para raspar)

 const sqft = new Array(); for (k = 0; k < links.length; k++) { request(`${links[k]}`, (error, response, html) => { const $ = cheerio.load(html); const pr = $('div[class="df2 "]').first().text(); sqft.push(pr); }); } console.log(sqft);

Los enlaces se insertan en la solicitud antes de esto. Ahora, cuando consola. log (sqft) obtengo [] . Si lo consuelo. Lo registro dentro del bucle, mostrará datos. ¿Es la diferencia entre el número 1 y el número 2 o Cheerio está creando un problema? ¡Gracias!

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Parece que tiene una operación asíncrona. Por lo tanto, debemos usar las palabras clave async y await para que la ejecución sea sincrónica:

 async function yourFunction() { const sqft = new Array(); for (k = 0; k < links.length; k++) { // here we are waiting for the promise to be resolved let res = await request(); const $ = cheerio.load(res.html); const pr = $('div[class="df2 "]').first().text(); sqft.push(pr); } }
over 4 years ago · Santiago Trujillo Relatório

0

así es como puedes hacer tus cosas con axios

 const sqft = new Array(); for (k = 0; k < links.length; k++) { const res = await axios .get(`${links[k]}`) .then((result) => { // do youre logic // const $ = cheerio.load(html); const pr = $('div[class="df2 "]').first().text(); sqft.push(pr); }) .catch((err) => { //handle error console.log("error"); }); } console.log(sqft); async function doSomeThing() { const sqft = new Array(); for (k = 0; k < links.length; k++) { const res = await axios.get(`${links[k]}`); // logic // .... // sqft.push(pr); } console.log(sqft); }

over 4 years ago · Santiago Trujillo 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