在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()
你知道我做错了什么吗?