【发布时间】:2018-02-11 07:54:26
【问题描述】:
我想在检查令牌是否有效然后获取正确的 url 后返回一个 http.get observable,最后返回一个 get observable。我写了这段代码,但没有编译,error : A function whose declared type is neither 'void' nor 'any' must return a value.
getListObs<T>(target):Observable<T>{
this.tokenifyObs().subscribe(
token => {
console.log("get list of objects ")
return Observable.create(observer => {
let myUrl = this.urls_list[this.baseUrl] + this.urls_list[target];
observer.next(myUrl);
})
.subscribe( (myUrl)=>{
return this.http.get<T[]>(myUrl)
})
})
}
tokenifyOsb 方法代码:
tokenifyObs():Observable<String>{
return Observable.create(observer => {
console.log("checking token.. ")
if(! this.token){
let token = sessionStorage.getItem("token")
this.token = token
this.header.headers["authorization"] = this.auth + token;
this.validAuth = true
}
console.log("token is : ", this.token)
observer.next(this.token);
})
}
【问题讨论】:
标签: angular typescript rxjs observable