代码之家  ›  专栏  ›  技术社区  ›  Jane Wayne

如何通过管道传输多个相关观测值?

  •  0
  • Jane Wayne  · 技术社区  · 7 年前

    在Angular 7中,我通过 @ngx-pwa/local-storage . 要获取和保存键值对,此API是异步的。然后我有了另一个方法,它检索JWT并生成一个 HttpClient 呼叫我似乎无法链接并使这些异步方法正常工作。

    private getHttpHeaders(): Observerable<object> {
     return this.localStorage.getItem<string>('token', {schema: {type: 'string'}}).pipe(map(token => {
      return {
       headers: new HttpHeaders({
        'Content-Type': 'application/json',
        'X-Access-Token': token
       })
      };
     }));
    }
    

    我的另一个方法如下所示。

    public isLoggedIn(): Observable<boolean> {
      const url = `${this.host}/account/isloggedin`;
      return new Observable<boolean>(observer => {
        this.getHttpHeaders()
          .pipe(map(headers => {
            return this.httpClient.get<any>(url, headers)
              .pipe(map((json) => {
                observer.next(json && json.result && json.result === true);
              }));
          }));
      });
    }
    

    当我试图打电话时 myService.isLoggedIn() 什么也没发生。如果我投入 console.log 消息,我可以追踪到 getHttpHeaders()

    你知道我做错了什么吗?

    0 回复  |  直到 7 年前
    推荐文章