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

123
Views
¿Cómo agrego los resultados de una promesa de espera asíncrona a una matriz global?

Lo que estoy tratando de hacer: extraer datos de airtable y colocarlos en una matriz para que los elementos dentro de esta matriz puedan asignarse a una tabla html más adelante.

El problema que tengo: Javascript extrae datos de Airtable de forma asíncrona (o así lo entiendo), por lo que no importa si uso una función de espera asíncrona o simplemente una normal, siempre obtengo una promesa. Todo lo que quiero hacer es sacar estos elementos de la mesa y ponerlos en una matriz, pero está demostrando ser más difícil de lo que debería ser. (Todavía es nuevo en javascript, por lo que podría ser que aún no entiendo todo completamente).

Código para extraer los datos:

 var Airtable = require('airtable'); var base = new Airtable({apiKey: 'API-KEY'}).base('BASE-ID'); const table = base('BASE-NAME'); let lst = []; const getRecords = async () => { try { const records = await table.select().all(); for(i = 0; i < records.length; i++){ lst.push(records[i]) } } catch (err) { console.error(err); } }

Sé que el código anterior funciona porque si cambio la línea en la que envío los lst al lst con una console.log(records[i]) . El problema surge cuando intento ejecutar un console.log(lst) . Simplemente devuelve Promise {pending} .

Entonces, lo que encontré en el documento del desarrollador y aquí en el desbordamiento de la pila es que necesito usar un .then() para devolver el lst , así que probé lo siguiente:

 getRecords().then(res => { console.log(lst) } );

que de hecho me dio los resultados deseados que estaba buscando, pero ahora si ejecuto un console.log(lst) obtengo el mismo mensaje de Promise {pending} impreso en la consola.

¿Significa esto que tendré que asignar los elementos dentro de lst a la tabla HTML dentro del

 getRecords().then(res => { console.log(lst) // so instead of printing the lst to the console here, would I just map the items to the html table? } );

sección del código?

about 4 years ago · Juan Pablo Isaza
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!