【问题标题】:Checking if child exist not working with AngularFire2检查孩子是否存在不适用于AngularFire2
【发布时间】:2017-04-27 15:34:22
【问题描述】:

我想看看是否有孩子存在。所以我正在创建一个新的可观察的 Firebase 列表。我也尝试过使用可观察的对象。创建 observable 后,我检查它是否存在。但它最终总是错误的。

数据库结构:

 {Rooms:[
    {0:
      {name:ok}
     },
     {1:
       {name:second}
      }
  ]}

Angular2 代码:

isRoom(num){
 let isRoom: boolean;
 var Exists:FirebaseListObservable<any[]>;
 Exists=AngularFire.database.list('/Rooms/'+num);
 Exists.subscribe(snapshot =>{
   if(snapshot.exists()){
      console.log("Exists");
      isRoom=true;
   }else{
      console.log("Doesn't exists");
      isRoom=false;
    }
   return isRoom;
});

【问题讨论】:

  • 请添加您的 Firebase 数据库结构作为示例。
  • 好的,我刚刚添加了结构
  • 抱歉,它对我来说不是一个有效的结构。你能重写你的数据库结构吗?
  • 这就是 firebase 组织数据的方式。我一开始没有提供密钥,所以它从 0 开始。
  • 你能告诉我你会用什么方法检查吗?

标签: angular typescript firebase firebase-realtime-database angularfire2


【解决方案1】:

对 firebase 的订阅是异步的,因此在函数退出时它仍在处理中。简单地说,你不能这样做。您将需要传入一个回调函数并等待返回来执行类似的操作。

【讨论】:

    猜你喜欢
    • 2017-03-14
    • 2018-07-20
    • 2017-02-25
    • 2017-10-24
    • 1970-01-01
    • 2016-09-18
    • 2011-11-25
    • 2016-09-20
    • 2010-12-06
    相关资源
    最近更新 更多