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

211
Vistas
¿La espera de nivel superior no funciona para Node 16.16.0?

Estoy convirtiendo mi aplicación de nodo para usar la espera de nivel superior para conectarme a mi cliente de Redis, pero recibo el error "la espera solo es válida en funciones asíncronas y los cuerpos de módulos de nivel superior ".

No entiendo por qué recibo este error ya que estoy usando la versión 16.16.0 de Node y la espera de nivel superior debería funcionar para Node.js desde v14.8.

¿Por qué mi código no funciona?

Versiones utilizadas : NODE v16.16.0, Redis ^ 4.2.0

SEGUIMIENTO DE LA PILA

 at Object.compileFunction (node:vm:352:18) at wrapSafe (node:internal/modules/cjs/loader:1033:15) at Module._compile (node:internal/modules/cjs/loader:1069:27) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/Users/app/git/app-node-api/src/index.js:4:1) at Module._compile (node:internal/modules/cjs/loader:1105:14)

CÓDIGO

 const Redis = require("redis") const util = require(`util`) const client = Redis.createClient({ url: process.env.REDIS_CLIENT_PRIMARY, }) client.on("error", async (err) => console.log("Redis Client Error", err)) await client.connect() // <- THROWS ERROR "await is only valid in async functions and the top level bodies of modules"
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

La espera de nivel superior solo está disponible en los módulos ES. Puede escribir un módulo usando la extensión mjs en lugar de js o configurando { "type": "module" } en package.json .

about 4 years ago · Santiago Gelvez 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