1
私はTypeScript、Angular 5.0を使用しています。マイバックエンドの応答は、このインタフェースに要約されている:サーバーからデータを取得するために私のサービスで角度/イオン - ハンドルJSON "error"プロパティ
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
が存在する場合、応答は成功し、自分のデータを適切に処理します。プロパティerror
が存在する場合は、コード/メッセージエラーをユーザーに通知します。
今の問題は何ですか? – Sampath
私はJSON解析を実行するコード内の場所を特定し、データまたはエラーフィールドが存在するかどうかをチェックし、最終的にはUIで処理されたデータまたはエラーを通知しようとしています –
なぜできませんあなたは '(err)=> { console.log(err);' 'buttonClicked()'イベントでそれをここで行いますか? – Sampath