Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!