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

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

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