Я пытаюсь загрузить данные из firebase, вызывая функцию, в которой она фильтрует данные и возвращает их.
Когда я вызываю эту функцию в своей основной функции, она возвращает «undefined». Я знаю, что данные есть (console.log (postsArray)) печатает данные, но я предполагаю, что возврат выполняется до загрузки данных. Что я делаю не так?
calling_Function_in_Main = async () => {
const data = await FirebaseData ();
console.log(data);
};
FirebaseData - это функция, которую я вызываю в своей основной функции для загрузки данных и их возврата
let postsArrays=[];
const FirebaseData = async () => {
const getViewableLink = async (link) => { //some function };
const loadData = async () => {
const database = firebase.database();
const data = database.ref();
const loadProfile = data
.child('Posts')
.orderByChild('Active')
.equalTo(true)
.once('value', function gotData(data) {
Object.values(readInfo).forEach(async (element) => {
element.Option1Link = await getViewableLink(
preLink + element.Option1Link,
);
postsArray.push(element);
}
});
})
.catch((error) => {
console.log(error);
}
})
.then((postsArray) => {
console.log(postsArray);
return postsArray;
});
};
await loadData();
};
export default FirebaseSwipeData;