【发布时间】:2022-01-30 23:53:29
【问题描述】:
我正在尝试从我的 Firestore DB 异步函数 cvUpload 中获取值。但是无论我等待该值多长时间,如果我在我的组件上调用它,它仍然是未定义的。
我看到很多人在 async await 和 promises 方面有同样的问题。但我真的无法解决它。我真的需要一些提示。
DatabaseService.ts
export class DatabaseService {
constructor(
private dbService : DatabaseService ) {}
async cvUpload (id : string) {
const userRef = collection(this.db, this.user_db)
const q = query(userRef, where("id", "==", id));
const querySnapshot = await getDocs(q);
querySnapshot.forEach((doc) => {
console.log(doc.data().cv) /// False (Thats correct)
return doc.data().cv;
});
}
DashboardComponent.ts
constructor(
private dbService : DatabaseService ) {
}
async ngOnInit() {
await this.checkCV('uyDer0BxoVekGU2XnYa3Xm77nm03')
}
async checkCV(id : any) {
let result = await this.dbService.cvUpload(id) /// This shoud return FALSE
}
感谢您提供任何帮助或提示,让我在这里更进一步
【问题讨论】:
标签: javascript angular firebase google-cloud-firestore async-await