Estoy tratando de ejecutar una función que configura un montón de cosas para mi código. Lo primero es obtener un objeto JSON de una API para usarlo más tarde. Cuando ejecuto el código y la consola registra el abi en la función getAbi, cierra la sesión del JSON.
Cuando hago lo mismo desde otra función, devuelve indefinido.
¿Cómo puedo arreglar esto? Supongo que se debe a que el código se está ejecutando antes de que se devuelva, pero no sé cómo ponerlo en orden.
async function getAbi (contract) { if (config['abi'] != ""){ abi = config['abi'] return abi }else { request('https://api.etherscan.com/api?module=contract&action=getabi&address='+ contract + '&apikey=' + bscScanToken, async (err, response, body) => { if (err) { console.log(err) } else{ body = JSON.parse(body) abi = body.result return abi } }) } } async function setupMint() { abi = await getAbi(contract) console.log(abi)