Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 使用可注入服务优化与api的连接_Angular_Ionic Framework_Promise - Fatal编程技术网

Angular 使用可注入服务优化与api的连接

Angular 使用可注入服务优化与api的连接,angular,ionic-framework,promise,Angular,Ionic Framework,Promise,我有这样的结构: 可注入服务apiHelper.ts @Injectable() export class ApiHelper { private headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'}); tokenRequest(data: any, path: string): Promise<any> { return this.lo

我有这样的结构:

可注入服务apiHelper.ts

 @Injectable()
    export class ApiHelper {
      private headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'});

    tokenRequest(data: any, path: string): Promise<any> {
        return this.localStorage.getAccessToken().then(token => {
          if (this.connectivityService.isOnline()) {
            if (token) {
              data["user_token"] = token

              return this.http.post(path, this.getParams(data), {headers: this.headers})
                .toPromise()
                .then(response => {
                  return response.json();
                })
                .catch(this.handleError);

            } else {
              throw {Error: "errorToken"}
            }
          }
          else {
            this.messagePresenter.presentToast("no connection", 2000, "bottom")
            throw {Error: "noconn"}
          }
        })


      }

  private handleError(error: any): Promise<any> {
    console.error('An error occurred', JSON.stringify(error)); // for demo purposes only
    return Promise.reject(error);
  }
}
我的问题是当internet连接不可用时,
抛出
不会传播到请求捕获

如何强制拒绝not catch块代码的承诺

谢谢

this.api.obtainData({}).then(response =>{
         console.log(response)
        })
          .catch(error =>{
            console.log("error")
          });