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

370
Vistas
Las funciones asíncronas no se reconocen

Tengo algunas funciones asíncronas que he usado en varios proyectos, sin embargo, cuando las agregué a otro proyecto, de repente no funcionan.

Un ejemplo de una de estas funciones es:

 const ddbGet = async (params) => { try { const data = await docClient.get(params).promise(); return data; } catch (err) { console.log("Failure", err.message); return false; } };

El error que arroja es:

 const ddbGet = async (params) => { ^

Error de sintaxis: símbolo inesperado (

Sin embargo, sé que no hay problemas con la sintaxis de las funciones, ya que se usan con éxito en otros lugares.

He visto algunas respuestas a otras preguntas que sugirieron algunos problemas con JSHint y ESLint; sin embargo, no creo que estuviera usando ninguno de estos, pero solo para asegurarme de que instalé ESLint y especifiqué la versión ECMA como se sugiere en esas respuestas y esto todavía se lanzó el error.

También me aseguré de estar usando la última versión de Node.js.

Y si elimino esas funciones, aparece un error debido a una función asíncrona en la carpeta node_modules.

async handshake(transportName, req, closeConnection) {

 `^^^^^^^^^`

ErrorDeSintáxis: Identificador Inesperado

¿Alguien sabe cuál podría ser el problema? Gracias.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Dado que la documentación, o más bien el Getting Started de AWS Cloud9, no se mantiene actualizado (usando un script antiguo para instalar NVM) y viendo que el proyecto era muy antiguo (según la sección de comentarios ampliados de la pregunta), seguramente fue la versión de NodeJS.

Esto está confirmado por la salida nvm ls que nos dio el OP (solo lo formateé):

 v6.15.1 -> v17.2.0 system default -> 6 (-> v6.15.1) node -> stable (-> v17.2.0) (default) stable -> 17.2 (-> v17.2.0) (default) iojs -> N/A (default) lts/* -> lts/argon (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.24.1 (-> N/A) lts/erbium -> v12.22.9 (-> N/A) lts/fermium -> v14.18.3 (-> N/A) lts/gallium -> v16.13.2 (-> N/A)

La línea default -> 6 (-> v6.15.1) nos informa que la versión predeterminada de NodeJS utilizada (para todo el sistema) es v6.15.1 .

Desafortunadamente, NodeJS NO maneja la sintaxis async/await de forma nativa antes v7.6 .

Podría ejecutar nvm install 17.2.0 y luego nvm use 17.2.0 (o simplemente la parte de nvm use , pero no sé si la v17.2.0 que vemos en la salida se ha instalado efectivamente a través de NVM), lo cual es probable para solucionar este problema en particular.

about 4 years ago · Juan Pablo Isaza Denunciar

0

¡He encontrado la solución con un poco más de investigación después de que Gaëtan Boyals me puso en el camino correcto!

Tenía razón en que la versión predeterminada de Node.js era el problema y la solución para solucionarlo era nvm alias default 17.2.0

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