我有这个可观察的 http 请求
refreshToken() {
return this.http.get(this.siteService.apiDomain() + '/api/token?token=' + localStorage.getItem('JWToken'), {})
.map((response: Response) => {
return response;
})
}
我这样称呼可观察者
return this.refreshTokenService.refreshToken()
.flatMap((result: any) => {
// if got new access token - retry request
if (JSON.parse(result._body).token) {
localStorage.setItem('JWToken', JSON.parse(result._body).token);
}
this.setHeaders(url);
return this.request(url, options);
})
我的问题是,如果我有多个并行请求,我会多次执行 refreshToken()。我想找到一种方法来进行虚假的 http 调用,并返回我已经知道的令牌或什么都不返回。
Observable.empty() // Failed to compile (Type '{}' is not assignable to type 'Response'.)
Observable.empty().filter(() => {return true}) // Compiles but it stop the flatMap sequence.