0
在我的Angular2應用程序中,我使用canActivate來允許訪問頁面。 其中一部分是與服務器檢查令牌沒有被篡改,所以在我可以決定天氣用戶可以被授予訪問權限之前,我需要調用我的API。 這意味着訂閱Observable並等待答案。等待可觀察訂閱Angelar2
我需要返回真或假,但由於我做了一個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