我正在尝试在承诺请求已解决但无法找到
的情况下执行可观察的操作经过一些研究后我发现ionic2 storage get返回一个promise,我想执行一个应该返回一个observable的http请求
这是我尝试但失败的原因
constructor(storage:Storage){}
getAll():Observable<any>{
this.storage.get("token")
.then(res=>{ //perform the get request after value of token is found
if(res){
return this._http.get(this.companiesurl+"?access-token="+res)//attach token
.map(res=>res.json().data)
}
}
}
在构造函数
中调用上述函数 this.chojeService.getAll().subscribe(respose => {
this.users = response
},
答案 0 :(得分:1)
如果你有一个const data: Observable<any> = Rx.Observable.fromPromise(this.storage.get("token"))
.flatMap(res => res ? this._http.get("...") : Rx.Observable.of(undefined))
.map(res => res.json().data)
,你可以很容易地将它包装在<sample>
中:
$compile