我想看看孩子是否存在。所以我正在创建一个新的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;
});
答案 0 :(得分:0)
对firebase的订阅是异步的,因此在函数退出时它仍在处理。简单地说,你不能这样做。你将需要传入一个回调函数并等待返回做这样的事情。