Tengo este código en mi aplicación nativa de reacción que usa firebase:
let bestTutors = []; const getBestTutors = async () => { const snapshot = await getDoc(docRef); bestTutors = snapshot.data().list; } getBestTutors(); console.log(bestTutors);Pero cuando lo ejecuto, solo la consola registra "Array[ ]", he intentado usar .then() y todo tipo de cosas que no tienen sentido para mí, no sé si hay una forma de usarlo sin la espera. o ¿Cómo puedo pasar los datos a la variable :( ?
función de llamada con espera. Como éste
await getBestTutors()mira mis comentarios
Tu código 1
let bestTutors = []; const getBestTutors = async () => { const snapshot = await getDoc(docRef); bestTutors = snapshot.data().list; } getBestTutors(); // Asynchronous function console.log(bestTutors); // this is called before getBestTutors() returns the data. So console.log(bestTutors) return de default value: []el nuevo codigo
let bestTutors = []; const getBestTutors = async () => { const snapshot = await getDoc(docRef); bestTutors = snapshot.data().list; } await getBestTutors(); // Wait until getBestTutors() has finished and then Next. console.log(bestTutors);