Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

688
Vistas
await solo es válido en funciones asíncronas y los cuerpos de nivel superior de los módulos, ya que es en el cuerpo de nivel superior

Estoy tratando de crear un cliente SupaDB para Steam, más información . Cuando reviso la consola del sitio web, aparece el siguiente mensaje de error, incluso cuando se usa node file.js , se muestra el mismo error. Cual es el error:

SyntaxError: await solo es válido en funciones asíncronas y los cuerpos de módulos de nivel superior

Como la información proporcionada, el error también incluye que la línea donde ocurre el error es la línea 8 ...

Registro completo:

 const { data, error } = await supabase.from("steam").select("*") ^^^^^

SyntaxError: await solo es válido en funciones asíncronas y los cuerpos de nivel superior de los módulos en Object.compileFunction (node:vm:352:18) en wrapSafe (node:internal/modules/cjs/loader:1031:15) en Module._compile (node:internal/modules/cjs/loader:1065:27) en Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) en Module.load (node:internal/modules/ cjs/loader:981:32) en Function.Module._load (nodo:internal/modules/cjs/loader:822:12) en Function.executeUserEntryPoint [como runMain] (nodo:internal/modules/run_main:81:12) en el nodo: interno/principal/ejecutar_módulo_principal:17:47

 const supabase = createClient("https://gqkuommdmfzmwkzdewma.supabase.co", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imdxa3VvbW1kbWZ6bXdremRld21hIiwicm9sZSI6ImFub24iLCJpYXQiOjE2NDkyNjQyNTIsImV4cCI6MTk2NDg0MDI1Mn0.iF651HDhqynAQRlG8T6wFS3ZEx4dqxHiEiguc0m7-zI", { headers: { Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWNyZXQiOiI3MjU5YTg2ZDVlMTE1YTM2ODRjMjdlNGUiLCJpYXQiOjE2NTAyODg1MzJ9.43EriTTwaDLeepFTbRoZXJksqCtIrjMZ-yHHMDuK0_4" } }) const { data, error } = await supabase.from("steam").select("*") if (error) { console.log('Error occurred:', error) } else { console.log(data) }
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <!-- link CSS and JavaScript to HTML --> <link rel="stylesheet" href="style.css"> <script src="code.js"></script> </head> <body> </body> </html>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

A menos que esté utilizando la última versión de NodeJS que admita la espera de nivel superior, no puede usar await fuera de una función asíncrona.

Puede solucionar esto encapsulando su código en una función IIFE:

 (async() => { // your code using await goes here const supabase = createClient("https://gqkuommdmfzmwkzdewma.supabase.co", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imdxa3VvbW1kbWZ6bXdremRld21hIiwicm9sZSI6ImFub24iLCJpYXQiOjE2NDkyNjQyNTIsImV4cCI6MTk2NDg0MDI1Mn0.iF651HDhqynAQRlG8T6wFS3ZEx4dqxHiEiguc0m7-zI", { headers: { Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWNyZXQiOiI3MjU5YTg2ZDVlMTE1YTM2ODRjMjdlNGUiLCJpYXQiOjE2NTAyODg1MzJ9.43EriTTwaDLeepFTbRoZXJksqCtIrjMZ-yHHMDuK0_4" } }) const { data, error } = await supabase.from("steam").select("*") if (error) console.log('Error occurred:', error) else console.log(data) })()
about 4 years ago · Juan Pablo Isaza Denunciar

0

await solo es válido en funciones asíncronas

Esto significa que solo puede usar await si su función es async . En este momento solo está usando la palabra clave await sin async

 let dummyMethod = async () => { const supabase = createClient("https://gqkuommdmfzmwkzdewma.supabase.co", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imdxa3VvbW1kbWZ6bXdremRld21hIiwicm9sZSI6ImFub24iLCJpYXQiOjE2NDkyNjQyNTIsImV4cCI6MTk2NDg0MDI1Mn0.iF651HDhqynAQRlG8T6wFS3ZEx4dqxHiEiguc0m7-zI", { headers: { Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWNyZXQiOiI3MjU5YTg2ZDVlMTE1YTM2ODRjMjdlNGUiLCJpYXQiOjE2NTAyODg1MzJ9.43EriTTwaDLeepFTbRoZXJksqCtIrjMZ-yHHMDuK0_4" } }) const { data, error } = await supabase.from("steam").select("*") if (error) { console.log('Error occurred:', error) } else { console.log(data) } }
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <!-- link CSS and JavaScript to HTML --> <link rel="stylesheet" href="style.css"> <script src="code.js"></script> </head> <body> </body> </html>

Ahora no obtendrá un mensaje de error. Dado que estamos envolviendo su await en el método async .

Nada se registrará en la consola, ya que no estoy llamando al dummyMethod .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede agregar un "tipo": "módulo" en su archivo package.json y eso le permitirá usar la espera de nivel superior

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda