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

244
Vistas
Usando una variable fuera de una función de flecha en JS

Configuré un websocket que lee todas las direcciones de correo electrónico como backend y las envía al cliente. Ahora quiero que el espacio de memoria utilizado se envíe junto con la cuota. mysql-Query da como resultado una matriz con varias cadenas JSON (resultados):

 { id: 10, domain_id: 6, email: 'mailadress', password: 'password', quota: 5368709120, crypt: 2, wsplx: 'customer', quota_used: undefined }

Como valor adicional, quiero ingresar "quota_used". Es por eso que escribí el siguiente código:

 for (value of results) { console.log(get_used_quota(value.email)) value.quota_used = get_used_quota(value.email); } socket.emit("response_get_update_mails", (results)); function get_used_quota(email) { var mailadress_arr = email.split("@"); var cmd = "du -sb /var/vmail/" + mailadress_arr[1] + "/" + mailadress_arr[0] + "/Maildir/"; exec(cmd, (error, stdout, stderr) => { if (error) { showtoaster("\"" + `${error.message}` + "\"", "Ein Fehler ist aufgetreten!", "warning", true, true, 3000) return; } if (stderr) { showtoaster("\"" + `${stderr}` + "\"", "Ein Fehler ist aufgetreten!", "warning", true, true, 3000) return; } var output = `${stdout}`; var size_arr = output.split("\t"); size = parseInt(size_arr[0]); return size }) }

El problema es que no puedo obtener el valor "tamaño" de la función de flecha. El valor de retorno de la función permanece indefinido. ¿Alguien puede ayudarme a solucionar este problema, esto sería muy bueno? Avísame, si necesitas más información.

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

0

Puedes envolver esa llamada en una promesa:

 function get_used_quota(email) { var mailadress_arr = email.split("@"); var cmd = "du -sb /var/vmail/" + mailadress_arr[1] + "/" + mailadress_arr[0] + "/Maildir/"; return new Promise(resolve => { exec(cmd, (error, stdout, stderr) => { if (error) { showtoaster("\"" + `${error.message}` + "\"", "Ein Fehler ist aufgetreten!", "warning", true, true, 3000) return; } if (stderr) { showtoaster("\"" + `${stderr}` + "\"", "Ein Fehler ist aufgetreten!", "warning", true, true, 3000) return; } var output = `${stdout}`; var size_arr = output.split("\t"); size = parseInt(size_arr[0]); resolve(size); }); }); }

y esperar el resultado

 value.quota_used = await get_used_quota(value.email);
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