检查孩子是否存在不使用AngularFire2

时间:2016-12-12 17:40:34

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

我想看看孩子是否存在。所以我正在创建一个新的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;
});

1 个答案:

答案 0 :(得分:0)

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