Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!