Я хотел бы рекурсивно проверить, существует ли узел в Firebase (созданный с помощью функции cloud), я пробовал много вещей, но я немного потерян между обещаниями, обратными вызовами и т. Д., И я не могу заставить его работать.
Вот что я попробовал (в сервисе аутентификации):
checkifExist(userId:string){
const self=this;
firebase.database().ref('/users/'+userId).once('value', function(snap) {
return true;
}, function(error) {
console.log("user not yet created by CF :"+error);
// wait 2 seconds before to try again
setTimeout(() =>{
self.checkifExist(userId);
},2000);
});
и я вызываю его в компоненте с:
if(this.auth.checkifExist(userId)){
// code if success
}
Проблема:
код, если успех никогда не выполняется, потому что:
this.auth.checkifExist (userId) равен не определено
почему? Есть идеи?