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

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

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 Report

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 Report

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