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

252
Vistas
¿Cómo pasar un resultado de una función en una matriz?

Quiero hacer un hash de base64 a base16 y poner el resultado en una matriz kvp. Aquí mi código (la base64 utilizada aquí es hipotética, es para mostrarle el problema):

 async function hashData() { let base64 = 'sertyuiopnbv58426931'; let hash = await window.crypto.subtle.digest('SHA-256', _base64ToArrayBuffer(base64)); const hashArray = Array.from(new Uint8Array(hash)); const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); console.log(hashHex); return hashHex; } function _base64ToArrayBuffer(mybase64) { let binary_string = window.atob(mybase64); let len = binary_string.length; let bytes = new Uint8Array(len); for (let i = 0; i < len; i++) { bytes[i] = binary_string.charCodeAt(i); } return bytes.buffer; } function GetClubData () { let kvp = {}; kvp['picture'] = hashData(); let kvp2 = {}; kvp2['Club'] = kvp; var json = JSON.stringify(kvp2,null," "); console.log(json); }
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title> Test </title> <link rel="stylesheet" href="test1.css"/> </head> <body> <button onclick="GetClubData()" > Get Club Data </button> <script src="../mylibrary/js/updateClub.js"></script> </body>

En mi consola no hay resultado de 'imagen'. Alguna idea ?

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

0

hashData es una función asíncrona, que debe esperar. El valor en su "kvp" es una Promesa, que no puede ser JSON serializado por defecto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

su función hashData es una función asíncrona y debe escribir awite si desea acceder al valor devuelto de esta manera

 function GetClubData () { putInArray(); } async function putInArray() { let kvp = {}; kvp['picture'] = await hashData(); let kvp2 = {}; kvp2['Club'] = kvp; var json = JSON.stringify(kvp2,null," "); console.log(json) }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si lo entiendo correctamente, está tratando de usar el resultado de una función asíncrona hashData dentro de la función normal GetClubData . No puedes hacer esto. Para solucionarlo, haga que la función GetClubData asíncrona y espere el resultado de la función asíncrona hashData . Aquí está el código correcto,

 async function GetClubData () { let kvp = {}; kvp['picture'] = await hashData(); let kvp2 = {}; kvp2['Club'] = kvp; var json = JSON.stringify(kvp2,null," "); console.log(json); }

Ejecutar la función GetClubData produce el resultado,

ingrese la descripción de la imagen aquí

Además, llame a la función a través del atributo onclick , onclick="GetClubData()"

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