我有一个服务,我在其中向 Web api 发送 HTTP 请求并等待响应。我在 ngOnInit() 中调用这个服务函数。
我希望组件等待服务调用完成,并根据 HTTP 响应我应该重定向用户。
问题 我调用服务函数和组件不等待它完成并在屏幕上呈现页面然后在 2 3 秒后正确重定向..我不希望它呈现..
网络服务
isTokenValid(token: any){
const body = token;
const headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('http://'+this.web_url+':'+this.web_port+'/api/Authentication', body, {
headers: headers
})
.map((data: Response) =>data.json());
}
Run Code Online (Sandbox Code Playgroud)
服务示例代码
verifyAccessToken(vaildDest: String, invalidDest: String, inverse:Boolean){
var localStorageObj = localStorage.getItem('currentUser');
if(localStorageObj == null){
// no user details present in browser
if(inverse) this.router.navigate([invalidDest]);
return;
}
var currentUser = JSON.parse(localStorageObj);
var token = currentUser.AccessToken;
var email = currentUser.Email;
var isAccessTokenValid = …Run Code Online (Sandbox Code Playgroud)