angular2和ionic2请求中的可观察和承诺失败

时间:2017-02-12 14:09:45

标签: javascript angular typescript

我正在尝试在承诺请求已解决但无法找到

的情况下执行可观察的操作

经过一些研究后我发现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
  },

1 个答案:

答案 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