Angular (4.3.6) 응용 프로그램에서 나는 비동기 파이프가있는 temnplate에서 관측 가능 항목을 지정합니다.각도 템플릿에 가입 된 관찰 가능 항목에 대한 예외를 잡는 방법?
HTTP GET에서 404를 얻을 때 예외가 발생하여 Angular로 인해 응용 프로그램이 응답하지 않게되는 경우가 있습니다. 내 서비스에서 .catch()
메서드를 사용할 수 있지만 직접 내 구성 요소에 .subscribe() 메서드가없는 것을 보았습니다. 어떻게 예외를 처리 할 수 있습니까?
documentService :
public getDocument() {
return this.getDocument(serverUrl).catch((err) => this.handleError(err));
}
private handleError(error: Response) {
return Observable.throw(error);
}
구성 요소 :
public ngOnInit() {
const document$ = this.reference$
.filter((i) => !!i)
.combineLatest(this.documentService.getBranch(),
(r: any, branch: string) => {
return this.documentService.getDocument(r.Id, r.targetId, this.GetHeadBranch(branch));
}).switch();
}
템플릿는 :
<div *ngIf="document$|async; let document;">
....
</div>
은 t인가 내 사례처럼 관측 대상을 예외로 잡는 것이 가장 좋은 방법인가요?
동정. 사용자 정의 파이프는 약간의 추가 단계가 필요합니다 (관찰 가능을 구독하고 값을 처리하고 예외가 발생하면 리디렉션). 그러나 일반화 할 수 있다면 장기간에 걸쳐 이점을 얻을 수 있습니다. – Francesco