检查孩子是不是存在不适用于AngularFire2

Posted

技术标签:

【中文标题】检查孩子是不是存在不适用于AngularFire2【英文标题】: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 开始。 你能告诉我你会用什么方法检查吗? 【参考方案1】:

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

【讨论】:

以上是关于检查孩子是不是存在不适用于AngularFire2的主要内容,如果未能解决你的问题,请参考以下文章

Google 身份验证不适用于 AngularFire2

forkJoin 不适用于 AngularFire2 valueChanges

检查用户是不是仍在 angularfire2 中通过身份验证

Google firebase 检查孩子是不是存在

php SimpleXML 检查孩子是不是存在

检查是不是有孩子在场?如果仅存在则执行特定方法