当我将访问令牌存储在JSON文件中时,大约每隔5秒钟,它需要检索或刷新并将访问令牌存储在会话变量中
login.component.ts
ngOnInit() {
if(! sessionStorage.getItem("token")){
// this.api.getconfigfile().then((config) => {
// //console.log(config);
// this.api.getaccesstokenkey();
// });
this.api.testing();
this.api.getaccesstokenkey();
}
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
}
api.service.ts
constructor( private http : HttpClient ,private router: Router,private route: ActivatedRoute,private alertService: AlertService ) {
this.accessToken=JSON.parse(sessionStorage.getItem("token"));
this.configjson=JSON.parse(sessionStorage.getItem("config"));
}
testing(){
const myJWTProperties = {
iss: "omrxdevappengineforui@still-fact-237402.iam.gserviceaccount.com",
aud: "https://www.googleapis.com/oauth2/v4/token",
iat: Math.floor(new Date().getTime() / 1000),
exp: 3600,
target_audience: "117661587724577164884",
}
getconfigfile() : Promise<any>{
let promise = new Promise((resolve, reject) => {
let apiURL = "./assets/configfile.json";
this.http.get(apiURL).toPromise().then(
res => {
// Success
this.configjson = res;
sessionStorage.setItem("config",JSON.stringify(this.configjson));
resolve();
},
msg => {
// Error
reject(msg);
}
);
});
return promise;
}
getaccesstokenkey(){
let promise = new Promise((resolve, reject) => {
let apiURL = "./assets/accesskey.json";
this.http.get(apiURL).toPromise().then(
res => {
// Success
this.accessTokenKey = res;
this.getaccesstoken();
resolve();
},
msg => {
// Error
reject(msg);
}
);
});
return promise;
}
我应该如何包括Window setInterval()或任何其他内置的角度函数来完成相同的操作?