gpt4 book ai didi

javascript - Observable> 类型上不存在属性 'then'

转载 作者:行者123 更新时间:2023-12-02 20:52:31 25 4
gpt4 key购买 nike

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());
});

我正在尝试读取集合的多个文档,但随后出现错误。请帮我解决这个问题。

最佳答案

如果你想将 is 视为 Promise,可以将其转换为 Promise。一旦 get() 只产生一次发射,这就不是一种黑客攻击。但 Firebase 希望您处理来自 get() 的流。无论如何,将其转换为 promise :

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());
});

[更新] 1:根据文档,有一个新的 API 用于使用 onSnapshot 方法获取快照:

db.collection("cities")
.onSnapshot((querySnapshot: QuerySnapshot<DocumentData>) => {
querySnapshot.forEach((doc: any) => {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});

关于javascript - Observable<QuerySnapshot<DocumentData>> 类型上不存在属性 'then',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61573473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com