تایپاسکریپت - چگونه در بلاک catch پاسخ بدنه را در فراخوانی HTTP در انگولار 2 بخوانیم
چگونه میتوانم بدنه پاسخ را در بلوک catch از درخواست HTTP در انگولار ۲ بخوانم. کد زیر چیزی است که تاکنون دارم:
requeueTask(data): Observable<Response>{
this.setHeaders();
let url = SharedService.requeueTaskApi;
return this._http.put(url, data, {headers: this.headers})
.map((response: Response) => response)
//.do(data => console.log(JSON.stringify(data)))
.catch((error: any, response) => {
console.log(response);
if (error.status < 400 || error.status ===500) {
return Observable.throw(new Error(error.status));
}
})
}
پاسخ شماره ۱
شما میتوانید خطا را مانند زیر بگیرید:
return this._http.put(url, data, {headers: this.headers})
.map((response: Response) => response)
.catch((error: Response) => {
console.log(response);
if (error.status < 400 || error.status ===500) {
return Observable.throw(error.json().error || 'Server error');
}
})
