Angular/Firestore-等待文档更新、添加或设置



是否可以等待文档成功写入Firestore?

我有一个组件可以调用服务中的添加函数:

save(){
this.aService.new();
}

在服务中,我有一个标准的角度火力添加功能:

new(){
this.afs.collection<any>(`col/doc/col`).add({
title: "A new Title",
});
}

我希望对组件中成功的addupdate或操作做出反应,以便在成功写入DB后,我的组件可以显示消息或关闭/隐藏元素。我曾尝试将async / await添加到组件保存函数中,但我并不太了解如何最好地正确集成它。

add((函数应该返回一个promise。所以你应该能够处理承诺如下:
this.afs.collection<any>(`col/doc/col`).add({
title: "A new Title",
}).then(result => {
// handle success
}).catch(err => {
// handle error
});

https://firebase.google.com/docs/firestore/quickstart#web-版本-8_2

如果你想从服务中返回承诺,你的功能可能是这样的:

addToDb(): Promise<any> {
return new Promise((resolve,reject) => {
this.afs.collection<any>(`col/doc/col`).add({
title: "A new Title",
}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});

})
}

最新更新