관련 RxJS 설명서에서 설명한 것처럼 오류가없는 경우 .subscribe()
method은 완료시 호출되는 세 번째 인수를 사용할 수 있습니다. 참고로
:
[onNext]
(Function
) 함수는 관찰 시퀀스의 각 요소에 대한 호출.
[onError]
(Function
) : 관찰 가능한 시퀀스의 예외적 종료시 호출하는 함수.
[onCompleted]
(Function
) : 관찰 가능한 시퀀스의 정상 종료시 호출 할 함수. 이 (가 호출 될 때 오류가 없을 것이라는 점을 의미한다) 우아한 종료시 호출 할 것이기 때문에
따라서 당신은 onCompleted
콜백 라우팅 로직을 처리 할 수 있습니다. 사이드 참고로
this.httpService.makeRequest()
.subscribe(
result => {
// Handle result
console.log(result)
},
error => {
this.errors = error;
},
() => {
// 'onCompleted' callback.
// No errors, route to new page here
}
);
도없이 호출의 성공/실패 완료시 호출되는
.finally()
method있다. 이는 결과에 관계없이 HTTP 요청 후 특정 로직을 항상 실행하려는 경우 (예 : 로깅 또는 모달 표시와 같은 일부 UI 상호 작용의 경우)에 도움이 될 수 있습니다.
Rx.Observable.prototype.finally(action)
는 관찰 순서가 정상적으로 또는 예외적으로 종료 소스 후 지정된 조치를 호출합니다.예를 들어
가 여기에 기본적인 예입니다
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/operator/finally';
// ...
this.httpService.getRequest()
.finally(() => {
// Execute after graceful or exceptionally termination
console.log('Handle logging logic...');
})
.subscribe (
result => {
// Handle result
console.log(result)
},
error => {
this.errors = error;
},
() => {
// No errors, route to new page
}
);
을 다음과 같이 얻을 수 있습니다,이 인 최고. 고맙습니다 –