私のAngular2アプリケーションでは、canActivateを使用してページへのアクセスを許可しています。 これは、トークンが改ざんされていないことをサーバーにチェックすることです。そのため、天気を決定する前にユーザーにアクセスを許可することができます。私はAPIを呼び出す必要があります。 これはObservableに加入し、答えを待つことを意味します。観測可能なサブスクリプションを待っていますAngelar2
私はtrueまたはfalseを返す必要がありますが、私はasyns呼び出しを行うので、私は私の応答に基づいて返すことはできません。 私はそれがシングルスレッドなので、私は待つことができないことを実現するが、私は何かをブロックする必要があります私は、APIから戻る答えを持っているまで。次のように 私canActivateに見えます:
canActivate() {
this.guardClient.checkToken("token")
.subscribe(response => {
let responseText = response.text().replace(/"/g, '');
if (responseText === 'Ok')
{
return true;
}
if(responseText === 'denied') {
this.router.navigate(['login']); // redirecting to login
return false;
}
});
}
誰かがどのようにこの問題を解決するために教えてもらえます?
ありがとうございました! :) – methgaard