【发布时间】:2022-02-19 23:18:41
【问题描述】:
我有这个方法通过localstorage获取token,如果token不存在或者过期,我会调用API获取另一个token并存储到localstorage。
在这种情况下,我应该使用哪个地图,当前使用的是 mergeMap,还是其他方式?
public doGetToken():Observable<Token> {
return this.loadToken().pipe( //get via localstorage
map(token=>{
let valid = this.validateTokenIsValid(token);
let data = {
token: token,
valid: valid
};
return data;
}),
mergeMap(data=>{
if (!data.valid) {
return this.doApiGetToken(data.token).pipe(
map(
token=>{
this.saveToken(token); //save to localstorage
return token;
}
)
);
} else {
return of(data.token);
}
})
);
版本:Angular 5,rxjs5
提前谢谢你。
【问题讨论】:
标签: angular angular5 rxjs5 angular-local-storage