我有一個angular2項目,Angular2員調用之前請求完成
我通過使用「canActivate」員
例如阻斷某些路線組件:該保護檢查,如果該用戶已登錄和塊組件僅限註冊用戶。
但是,我有一個警衛呼叫的時間問題。
當應用程序加載 - 我打電話給自動登錄請求(使用令牌登錄)。 在請求完成之前呼叫警衛。
所以,如果用後衛用戶刷新頁面,保護塊的請求之前的頁面完成。
當請求完成時,有沒有辦法打電話給警衛?
---- ---- UPDATE
我的代碼結構:
user.service包括:
- 自動登錄呼叫 - 返回可觀察
- EventEmitter用於觀察用戶的變化當變化發生(登錄,註銷,更新等)
- 函數獲取當前保存的用戶
app.component包括:
- 構造函數調用自動登錄請求 - 負載更新的用戶時輸入到網站
loggedin.guard包含:
- 檢查如果用戶的loggedIn現在(不僅當令牌保存)
我想在自動登錄完成app.component中的請求後更改用戶後再次檢查警衛
請出示 –
您是否嘗試過使用'Resolve'的代碼? https://blog.thoughtram.io/angular/2016/10/10/resolving-route-data-in-angular-2.html – jcroll
沒有任何意義,你有一個守衛但做自動登錄作爲應用程序加載。 –