tengo problemas con el return en mi función, tengo dos funciones, la primera crea una serie aleatoria de letras y números y la otra junta algunas combinaciones en una clave y verifica la base de datos (para verificar si ya existe) y si lo hace, vuelve a intentarlo), al final de la segunda función, devuelvo el valor clave mientras intento usarlo en mi código de solicitud posterior. aquí está el código:
function keyGen(length) { var result = ''; var characters = '0123ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789456789'; var charactersLength = characters.length; for ( var i = 0; i < length; i++ ) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } function makeKey(company) { var gen1 = keyGen(6); var gen2 = keyGen(4); var gen3 = keyGen(6); var key = `${company}-${gen1}-${gen2}-${gen3}`; var rawKey = `${gen1}-${gen2}-${gen3}`; con.query('SELECT * FROM lkeys WHERE chars = ?', [rawKey], function(err, rows, fields) { console.log("here") if (err) throw err if (rows.length > 0) { makeKey(company) } else { console.log("here2") console.log(key) return key; } }) }así es como trato de usar el valor de la función:
let lkey = makeKey(company); la salida para lkey no está undefined
cualquier ayuda sería apreciada, gracias.