我正在尝试使用Firestore(6.3.4)在Angular8(8.2)中开发CMS 我的应用程序具有一个对话框形式,当您单击“保存”时,它首先检查是否可以将数据输入添加到Firestore中。它可以是一个数组,因此take(1)选项不可用。然后,如果数据正确,则将其添加到Firebase,但add方法进入无限循环。
我尝试实现Observables,但实际上我不知道自己在做什么
在这里输入我的代码
dialogNewItem.afterClosed().subscribe(item => {
this.itemService.getItemList(item.id).subscribe(itemList => {
//do some checks in the itemList
if(itemList is correct){
//this fragment falls into an infinite loop
this.depositService.createDepositList(item).then(() => {
console.log("Item added to the deposit correctly")
})
}
})
})
//firestore item service
getItemList(id: string){
return this.firestore.collection('item').doc(id).get()
}
//firestore deposit service
createDepositList(item){
return this.firestore.collection('deposit').add(item);
}
我尝试更新depositList而不是创建一个新的,但是它也陷入了无限循环 似乎在组件中的另一个“内部”使用Firestore服务会导致问题