Итак, ниже пара коротких функций. createFeedPadFromScratch - моя основная функция, которая является асинхронной, и теоретически она должна дождаться разрешения вызова функции getCurrentId, прежде чем она утешит переменную currentId. Функция getCurrentId - это простой запрос к базе данных firestore, который возвращает число. Внутри функции getCurrentId корректное значение утешается, и я возвращаю это самое значение сразу после его утешения, но в основной функции, когда я утешаю это возвращаемое значение, я получаю неопределенное значение?
async function createFeedPadFromScratch() {
let currentId = await getCurrentId();
console.log(currentId);
}
function getCurrentId() {
let currentIdRef = db.collection('feedPads').doc('getId');
var currentId;
currentIdRef.get().then(function(doc) {
if (doc.exists) {
currentId = doc.data().currentId;
console.log(currentId, typeof currentId);
return new Promise(resolve => {
resolve(currentId);
});
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});
}