我正在使用TypeScript,Angular 5.0。我的后端响应在此界面中进行了总结:
r"({})\\({})([0-9]+)".format(newspaper, year2)
# or
r"(%s)\\(%d)([0-9]+)" % (newspaper, year2)
我的服务中从服务器获取数据的功能是:
export interface JSONResponse {
error?: {
code: number,
message: string
};
data?: {};
}
然后使用此服务的组件来呈现模板:
httpGet(url: string, httpParams: HttpParams) {
return new Promise((resolve, reject) => {
this.http.get<LoginResponse>(url, {params: httpParams})
.subscribe(res => {
resolve(res.data);
}, err => {
// handle http get related errors here
console.log(err);
});
});
}
在哪里处理来自我后端的响应错误检查的地方?
也就是说,如果存在属性buttonClicked(event) {
this.myService.httpGet('myAPIurl', someRequestParams)
.then((data) => {
this.myData = data;
}, (err) => {
console.log(err);
});
}
,则响应成功并正确处理我的数据;如果属性data
存在,我会通知用户代码/消息错误。
答案 0 :(得分:0)
如果您需要以更通用的方式执行此操作,则可以使用IonicErrorHandler。
IonicErrorHandler拦截默认的Console错误处理 并在使用Ionic的Dev Build时将运行时错误显示为叠加层 服务器
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicErrorHandler } from 'ionic-angular';
@NgModule({
providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }]
})
class AppModule {}
如果你想自定义它,你也可以这样做。
class MyErrorHandler implements ErrorHandler {
handleError(err: any): void {
// do something with the error
}
}
@NgModule({
providers: [{ provide: ErrorHandler, useClass: MyErrorHandler }]
})
class AppModule {}