Ich kann das nicht herausfinden. Ich habe einen DataService (a.k.a. ds) und eine Komponente. Die Komponente ruft eine Funktion doSUserExist() auf:eckig 4 funktion return boolean = undefined
Dies erscheint immer als undefiniert. Hier ist die Funktion in Data:
doesUserExist(){
var bool:boolean;
var myvars = this.af.list('/accounts/'+this.uid) as FirebaseListObservable<Listing[]>;
myvars.subscribe(data=>{
console.log("length="+data.length)
if (data.length===0){
bool = false;
}
})
return bool;
}
Ich versuchte, die var bool:boolean
als öffentliche Variable setzen auch, aber egal, was passiert, das kommt als undefiniert.
Ich habe auch var bool:boolean=true
und Bool WILL oben in der if-Anweisung (ich habe über console.log geprüft) und statt dem Rückweg als false
es ist immer noch true
pro die Bezeichnung oben falsch entsprechen.
Also was mache ich falsch damit? Ich habe um gesucht und ich habe versucht:
Boolean([return bool])
aber-Code nicht mag, dass
ich auch die returns
in der if-Anweisung setzen versucht. Das funktioniert nicht.
Vielen Dank!
Mögliches Duplikat [Wie kann ich die Antwort von einem beobachtbaren/http/Asynchron-Aufruf in angular2 zurückkehren?] (Https://stackoverflow.com/questions/43055706/how-do-i-return-the -response-from-beobachtbar-http-async-call-in-angular2) – n00dl3