Angular 使用可注入服务优化与api的连接
我有这样的结构: 可注入服务apiHelper.tsAngular 使用可注入服务优化与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
@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")
});