我正在将数据库迁移到Firebase的Firestore,但是为此,我不得不将原始表的另一部分迁移到Firestore。现在,我想检索以前创建的文档Firestore的ID,但是在从Firebase获得的原始诺言中检索此数据时遇到问题。
我已经尝试将其作为异步承诺处理,如此处建议的:Typescript : I can't get the data out of Firebase promise
可悲的是,对于我来说,这对我不起作用:
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获得的正确ID值。 注释中指出“这不起作用”的部分会打印出来……好吧,一个空数组。 这意味着firebase_browser_reply数组已被修改,但只能在promise内访问。
关于如何获取数据的任何想法?