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

436
Vistas
Exceljs espera que no funcione en promesa en la función asíncrona

Actualmente estoy trabajando para abrir y escribir en un archivo de Excel usando exceljs. Sin embargo, la espera está cometiendo un error.

 SyntaxError: await is only valid in async functions and the top level bodies of modules

A pesar de que la función está en asíncrono. ¿Como puedo resolver este problema? El siguiente es el código que estoy usando

 async function Process(filename){ const workbook = new ExcelJS.Workbook(); let myPromise = new Promise(function(myResolve, myReject) { // "Producing Code" (May take some time) try{ await workbook.xlsx.readFile(filename) myResolve(); // when successful }catch(err){ myReject(); // when error } }); // "Consuming Code" (Must wait for a fulfilled Promise) myPromise.then( function() { /* code if successful */ }, function() {return false;} ); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

De acuerdo con los comentarios, debe evitar el antipatrón del constructor Promise y nunca usar await en el ejecutor de una new Promise .

Deberías escribir cualquiera

 function Process(filename){ const workbook = new ExcelJS.Workbook(); // "Producing Code" (May take some time) let myPromise = workbook.xlsx.readFile(filename); // "Consuming Code" return myPromise.then(function() { /* code if successful, waiting for a fulfilled Promise */ return …; }, function() { /* code when error, waiting for a rejected Promise */ return false; }); }

o

 async function Process(filename){ const workbook = new ExcelJS.Workbook(); try { // "Producing Code" (May take some time) await workbook.xlsx.readFile(filename); // "Consuming Code" (wait for the promise to be fulfilled) return …; } catch(err) { // Code when error in producing or consuming code return false; } }
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