Tem alguma forma de atribuir o retorno de uma função assíncrona em uma propriedade? Por exemplo, estou usando um plugin do Ionic capacitor que retorna os valores do local storage, porém ele só me retorna uma promise:
export class LocalStorage {
...
public async getUserToken(): Promise<string> {
const content = await Storage.get({ key: 'token' });
const token: string = content.value;
return token
}
Eu preciso atribuir esse valor dentro do header da minha requisição (criei uma função pra isso):
export abstract class BaseService {
...
protected requestHeadersAuth() {
return {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': `Bearer ${this.localStorage.getUserToken()}`
})
}
}
Eu sei que dessa forma não vai funcionar 'Authorization': Bearer ${this.localStorage.getUserToken()}
, pois o retorno seria uma promise, mas teria alguma forma de atribuir o valor do retorno?
Não posso usar async na função requestHeadersAuth()', pois eu chamo ela na minha requisição:
export class TesteService extends BaseService {
...
get(): Observable<any[]>{
return this._http.get<any[]>(this.UrlService, this.requestHeadersAuth())
...