Angular 2 - การจัดการข้อผิดพลาด
แอปพลิเคชัน Angular 2 มีตัวเลือกในการจัดการข้อผิดพลาด ซึ่งทำได้โดยการรวมไลบรารีจับ ReactJS จากนั้นใช้ฟังก์ชัน catch
มาดูรหัสที่จำเป็นสำหรับการจัดการข้อผิดพลาด สามารถเพิ่มรหัสนี้ที่ด้านบนของบทสำหรับการดำเนินการ CRUD โดยใช้ http
ในไฟล์ product.service.ts ให้ป้อนรหัสต่อไปนี้ -
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/catch';
import { IProduct } from './product';
@Injectable()
export class ProductService {
private _producturl = 'app/products.json';
constructor(private _http: Http){}
getproducts(): Observable<IProduct[]> {
return this._http.get(this._producturl)
.map((response: Response) => <IProduct[]> response.json())
.do(data => console.log(JSON.stringify(data)))
.catch(this.handleError);
}
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error());
}
}
ฟังก์ชัน catch มีลิงก์ไปยังฟังก์ชัน Error Handler
ในฟังก์ชันตัวจัดการข้อผิดพลาดเราจะส่งข้อผิดพลาดไปยังคอนโซล นอกจากนี้เรายังโยนข้อผิดพลาดกลับไปที่โปรแกรมหลักเพื่อให้การดำเนินการดำเนินต่อไปได้
ตอนนี้เมื่อใดก็ตามที่คุณได้รับข้อผิดพลาดระบบจะเปลี่ยนเส้นทางไปยังคอนโซลข้อผิดพลาดของเบราว์เซอร์