Я перевожу базу данных в пожарное хранилище, но для этого мне пришлось перенести другую часть моей исходной таблицы в пожарное хранилище. Теперь я хочу получить идентификаторы этих ранее созданных документов firestore, но у меня возникают проблемы при получении этих данных из исходного обещания, полученного из firebase.
Я уже пытался обработать это как асинхронное обещание, как предложено здесь: Машинопись: я не могу получить данные из обещания Firebase
Это, к сожалению, не сработало для меня, как показано в моем коде:
let firebase_browser=db.collection('browsers')
let firebase_browser_reply=[]
let firebase_platforms=db.collection('platforms')
i=0
browser_data.forEach(async element=>{
let snapshot= await firebase_browser.where('name', '==',element[1] ).get()
.then(snapshot=>{
snapshot.forEach(async doc => {
await firebase_browser_reply.push(doc.id)
});
element[1]=firebase_browser_reply[i]
i=i+1
})
//console.log(firebase_browser_reply[1])// This works!
})
console.log(firebase_browser_reply[1]) //This does not work
Часть, которая заявляет «Это работает» как комментарий, печатает правильное значение идентификатора, полученное из firebase в массиве.
Часть, которая заявляет «Это не работает», как комментарий, печатает ... ну, пустой массив.
Это означает, что массив firebase_browser_reply изменяется, но доступен только в пределах обещания.
Есть идеи, как получить эти данные?