我是AngularFire上的新手,在AngularFire5更新之后,我遇到了一些问题。我想要创建一个“room”,其中有一个id: name,所以在用户输入名称之后,我已经检查了数据库中是否存在这个名称,如果不存在,我将创建。我正在添加InfoMessages来指定是否创建了这个房间。
这是我的代码:
checkIfRoomExistAndCreate(salaName: string, puntuacio: number){
this.items = this.afDB.list("/game/" + salaName).valueChanges();
this.items.subscribe((x) => {
if (x.length === 0) {
this.createNewGame(salaName, puntuacio);
} else {
console.log('This room already exists');
};
})
}问题一旦检查,如果有一个房间的同名,创建后,它再次检查,并显示错误信息。
那么,我如何才能告诉可观察的人,一旦被创造,它就必须停止?
发布于 2017-10-22 17:59:23
您可以在插入数据后,在createNewGame函数中取消订阅,
this.afDB.list("/game/" + salaName).set("player1", this.player1.name);
this.items.unsubscribe();https://stackoverflow.com/questions/46877341
复制相似问题