반응형
각도2 rxjs 관측 가능한 포크조인
요청 중 하나가 실패하더라도 forkjoin http.get 요청을 계속할 수 있는가?
나는 각도2의 $q.allSettled의 비슷한 기능을 찾고 있다.
예: http://jsfiddle.net/Zenuka/pHEf9/을 참조하십시오.
angular.module('qAllSettled', []).config(function($provide) {
$provide.decorator('$q', function($delegate) {
var $q = $delegate;
$q.allSettled = function(promises) {
return $q.all(promises.map(function(promise) {
return promise.then(function(value) {
return { state: 'fulfilled', value: value };
}, function(reason) {
return { state: 'rejected', reason: reason };
});
}));
};
return $q;
});
});
갑
당신은 그것을 활용할 수 있다.catch
오류를 가로채고 그러한 경우 관측 가능한 다른 오류를 반환하기 위해 관측 가능한 각 연산자.
여기 샘플이 있다.
return Observable.forkJoin(
this.http.get('/some-url')
.map((res:Response) => res.json())
.catch(res:Response => Observable.of({}),
this.http.get('/some-other-url')
.map((res:Response) => res.json())
.catch(res:Response => Observable.of({}),
);
관찰 가능을 사용한다.forkJoin()을 여러 개의 동시 http.get() 요청을 실행하십시오.단일 요청이 실패하면 전체 작업이 오류 상태를 발생시킨다.
getBooksAndMovies() {
return Observable.forkJoin(
this.http.get('/app/books.json').map((res:Response) => res.json()),
this.http.get('/app/movies.json').map((res:Response) => res.json())
);
그러나 추가 GET 요청을 오류 처리기에 넣을 수 있다.
getBooksAndMovies() {
Observable.forkJoin(
this.http.get('/app/books.json').map((res:Response) => res.json()),
this.http.get('/app/movies.json').map((res:Response) => res.json())
).subscribe(
data => {
this.books = data[0]
this.movies = data[1]
},
err => console.error(err)
);
참조URL: https://stackoverflow.com/questions/38048860/angular2-rxjs-observable-forkjoin
반응형
'IT이야기' 카테고리의 다른 글
가상 환경 제거/삭제 방법 (0) | 2022.03.13 |
---|---|
VueJS 데이터()가 작동하지 않음 (0) | 2022.03.13 |
ESLint: 구성 요소 정의에 displayName이 누락됨(react/display-name) (0) | 2022.03.13 |
사용 가능한 업데이트 컨텐츠 데이터 문제 (0) | 2022.03.13 |
Vuex, Vue-라우터 및 처리 페이지 다시 로드(F5) (0) | 2022.03.12 |