小编Nou*_*had的帖子

如何在组件中等待服务 HTTP 调用完成

我有一个服务,我在其中向 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)

service components typescript angular

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

components ×1

service ×1

typescript ×1