Ionic3 Angularfire聆听Firestore的变化

时间:2018-09-13 04:59:04

标签: angular ionic3 google-cloud-firestore google-cloud-functions

在Firebase Cloud功能成功更新文档后,我该如何收听事件?因为该函数运行时会有几秒钟的延迟。我想实现一个加载屏幕,并在该函数成功更新记录时将其关闭。

示例:

  1. MyApp将数据更新到Firebase参考A
  2. firebase函数检测ref A中的更改并执行将相同数据更新到ref B
  3. MyApp不知道firebase功能何时才能完成上述步骤2,我需要听ref B所做的更改以消除负载

1 个答案:

答案 0 :(得分:1)

您可以使用Angularfire的updateset方法来更改文档的值。这些方法会返回一个Promise,完成后您可以删除hte加载程序。

updateItem() {
    this.loading = true;
    const item = { id: 1, name: "My Item };
    this.db.doc('item/1').update(item)
                         .then(() => this.loading = false;;
}

有关更多示例,请查看angularfire documents documentation

更新:

如果您需要订阅文档更改而不进行更改,只需执行以下操作:

this.db.doc('item/1).valueChanges()
                    .subscribe((data) => console.log('new data logic');