1
私はAngular 2プロジェクトで、ユーザーがログインしているかどうかをチェックする簡単なサービスを作った。ユーザーオブジェクトがFirebaseAuthオブジェクト内に存在するかどうかをチェックします。しかし、実際に私のreturn文がauth変数のsubscribeメソッドの中にあるとき、関数宣言は "return文がない"というエラーを投げます。Tsエラー:宣言された型が 'void'でも 'any'でもない関数は、値を返す必要があります。 return文がsubscribeメソッドの中にあるとき
import { Component, OnInit , Injectable} from '@angular/core';
import { FirebaseAuthState, FirebaseAuth} from "angularfire2";
@Injectable()
export class CheckLogged {
constructor(private auth:FirebaseAuth){}
check(): boolean{
this.auth.subscribe((user: FirebaseAuthState) => {
if (user) {
return true;
}
return false;
})
}
}
:コードは次のようなものになります「のチェックを():ブール」ステートメントは、このエラーがスローされます
イムコンポーネント でのOnInitライフサイクルフック内部の私の関数を呼び出すと、変数
に代入上記のコードreturn xxx
で
this.loggedIn = this.CheckLogged.check();
チャームのように働いた!ありがとう、たくさんの仲間。 –
ようこそ。あなたがそれを働かせることを聞いてうれしい:) –