db.collection("cities").get()
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});
我正在尝试读取一个集合的多个文档,但随后出现错误。 请帮我解决这个问题。
答案 0 :(得分:3)
如果您想将承诺视为承诺,则可以将其转换为承诺。一旦get()
仅产生一次发射,这不是黑客。但是Firebase希望您处理来自get()
的流。无论如何,要将其转换为承诺:
db.collection("cities").get().toPromise()
.then((querySnapshot: QuerySnapshot<DocumentData>) => {
querySnapshot.forEach((doc: any) => {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});
如果您决定处理get()
发出的流,则Firebase API希望您这样做:
db.collection("cities").get()
.subscribe((querySnapshot: QuerySnapshot<DocumentData>) => {
querySnapshot.forEach((doc: any) => {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});