繁体   English   中英

如何从请求中返回响应(post | get)?

[英]How to return a response from a request(post | get)?

服务中有一个变量,用于检查用户是否被授权:

  get IsAuthorized():any{
    return this.apiService.SendComand("GetFirstKassir");
  }

SendCommand(在通常的post请求或get ):

ApiService.SendComand(Command: string, Params?: any): Observable<any>

而且我必须按如下方式处理组件:

this.authorizeService.IsAuthorized.subscribe(
  res => {
    if (res.Name.length === 0) this.router.navigate(['/login'])
  }
);

我该如何使get IsAuthorized ()返回string Name(not Observable<any>) (位于subscribe内部。我可以编写该组件的console.log(this.authorizeService.IsAuthorized);

在这里,您要处理的是异步。 因此,IsAuthorized属性可以是一个Promise / Observable。 我相信您正在寻找的只是一种更简单的语法。 因此,我们可以使用异步/等待。

 get IsAuthorized():any{
    return this.apiService.SendComand("GetFirstKassir").toPromise();
  }

要在组件中使用,可以在ngOnInit中说,我们可以如下使用它:

  async ngOnInit() {
    const isAuthorized = await this.authorizeService.IsAuthorized;
    if(isAuthorized) { // works like normal boolean variable
    }
  }

希望能帮助到你!!! 干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM