私はこれを理解できないようです。私はDataService(a.k.a. ds)とコンポーネントを持っています。このコンポーネントは、関数doesUserExist()を呼び出します。角4関数戻り値ブール値=未定義
console.log("boolean="+this.ds.doesUserExist());
これは常に定義されていません。
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;
}
私はあまりにもパブリック変数としてvar bool:boolean
を入れてみましたが、関係なく、何が起こるか、これは未定義来ない:ここでのDataService内の関数です。
私もvar bool:boolean=true
を設定し、それがまだ上記の指定につきtrue
だfalse
としてブール値(私はにconsole.logを経由してチェックしました)上記、代わりに戻ってくるのif文で偽等しくなります。
だから私はこれで間違っているのですか?私は周りに検索したと私が試した:
Boolean([return bool])
が、コードは私もif文でreturns
を入れてみましたその
が好きではありません。それは動作しません。
ありがとうございました!
可能な重複https://stackoverflow.com/questions/43055706/how-do-i-return-the -response-from-observable-http-async-call-in-angular2) – n00dl3