如何在firestore中处理承诺

时间:2017-10-14 19:27:53

标签: javascript firebase promise angularfire2 google-cloud-firestore

这是我的代码,用于检查doc

中的collections是否存在
this.shopCollection = this.afs.collection<Shop>('shops', ref => {
  return ref.where('fulladdress', '==', myString)
});

我不知道为什么我不能使用.then().catch()这种方法。当我传递一个字符串进行查询,如果找不到结果我怎么知道?

我正在使用angularfire2版本^5.0.0-rc.1angular ^4.2.4firebase ^4.5.0

请帮忙。

1 个答案:

答案 0 :(得分:5)

我得到了一些改变

这是我的代码

this.afs.collection<Shop>('shops').ref.where('fulladdress', '==', myString)
      .get()
      .then(res => {
        if(res.docs.length == 0){
          //no documents found
        }else{
          //you got some documents
          res.forEach(shop => {
            console.log(shop.id);
            console.log(shop.data());
          })
        }
      }).catch(err => {
        console.log('something went wrong '+ err)
      });

我不确定这是正确的方法,对我来说很好。