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

238
Views
¿Por qué declarar una variable usando googleSheets.spreadsheets.values.get solo funciona como un IIFE?

Contexto: esto no es una solicitud de ayuda, encontré la solución, solo quiero entender por qué.

Código de trabajo:

 var username_result = (await googleSheets.spreadsheets.values.get({ auth, spreadsheetId, range: "users!A" + selrow, })).data;

Esto devuelve el objeto esperado y puedo registrarlo en la consola para ver su contenido.

Si elimino el conjunto exterior de paréntesis, es decir, haciendo que esto no sea un IIFE, nombre_usuario_resultado no está definido.

Leí esta pregunta y parece sugerir que googleSheets.spreadsheets.values.get({}).data no devolvería ningún valor si no se envuelve como un IIFE. Miré la documentación de esta función y establece explícitamente que devuelve un rango de valores.

Odio implementar código que no entiendo completamente. ¿Por qué tiene que ser un IIFE para que funcione?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Eso no es un IIFE. Es solo el operador de agrupación (paréntesis).

Lo necesita porque await tiene menor prioridad que el acceso a la propiedad. Entonces, con él, está esperando lo que obtiene de get(/*...*) y luego lee la propiedad de data del resultado de await . Sin él, está accediendo a una propiedad de data en la promesa get(/*...*/) devuelve (no tiene uno) y está usando await en el valor resultante ( undefined ).

Entonces necesita el operador de agrupación, o podría usar la desestructuración:

 var {data: username_result} = await googleSheets.spreadsheets.values.get({ auth, spreadsheetId, range: "users!A" + selrow, });

...o solo dos declaraciones:

 const result = await googleSheets.spreadsheets.values.get({ auth, spreadsheetId, range: "users!A" + selrow, }); var username_result = result.data;
about 4 years ago · Juan Pablo Isaza 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!