私のコントローラーで私は私のサービスでこの関数を呼び出しています。 idservice.getid()
私はconsole.log(idservice.getid())
コールオン関数は最初の呼び出しで未定義を返します
を使用してコンソールにそれを印刷して、それをテストしてい、それは最初の時間をundefinedを返しますが、私は再びそれを呼び出す場合は、その後、それは値を返します。
これは非同期の問題ですが、この作業を行う方法がわかりません。
私のサービスは以下の通りです:最初の呼び出し時に、それはundefinedを返すdoes notのように
function idservice (userauth) {
var id;
this.getid = function() {
userauth.currentUser().then(function(user) {
id = user.id;
});
return id
}
}
は、どのように私はそれを行うことができますか?これは非同期の問題ですか?
これはどのようにこれは、問題ではありませんそれがプログラムされています:IDはまだ分かっていないので、それを修正することはできませんが、その代わりに反応することができるので、未定義を返します – smnbbrv
代わりにそれに反応するのはどういう意味ですか? @smnbbrvありがとう! – user3398034
その中から帰ってきたIDとそれを 'キャッチ'するか失敗したレスポンスと適切なレスポンスを返す – Shantanu