¿Cómo puedo obtener esta clave en DATA y usar esta clave fuera de la función?
let DATA = []; const database = admin.database(); let keyref = database.ref("data"); keyref.once("value", async function (snapshot) { let key = await snapshot.val(); // i want this key data out side this function DATA.push(key); console.log(DATA); }); console.log(DATA); // i want here that inside function keyEn resumen, quiero obtener datos fuera de la función.
Al obtener datos RTDB solo una vez, se recomienda utilizar el método get() . Este método es asíncrono, por lo que debe hacer algo como lo siguiente:
async function getRTDBData(ref) { const database = admin.database(); const keyref = database.ref(ref); const snapshot = await keyref.get(); if (snapshot.exists()) { return snapshot.val(); } else { return .... // Up to you to adapt here } } getRTDBData("data") .then(val => { // Do what you want with val console.log(val); })async function getData() { console.log("Refreshing Firebase Credentials"); const keyref = database.ref("data"); const snapshot = await keyref.get(); if (snapshot.exists()) { const snapshotVal = snapshot.val(); console.log(snapshotVal); credentials = { expires_at: new Date(snapshotVal.expires_at), enc_key: snapshotVal.enc_key, iv: snapshotVal.iv, }; } else { console.log("Firebase Credentials not found"); process.exit(1); } } module.exports = { getData };Use esta función donde quiera estos datos