2016-11-24 2 views
2

Angular 2 및 ngrx/store와 함께 특정 코드 상태가 발생하여 내 응용 프로그램이 완전히 작동하지 않고 (데이터가 나타나지 않고 데이터가 나타나지 않고 경로가 이전 것과 다른 모든 종류의 재난 발생) 완전히 깨졌습니다. 상점에서 일어나는 일들을 디버깅하는 방법에 대한 아이디어가 부족합니다. redux dev-tools는 훌륭한 도구이지만 오류를 포착 할 수없는 것 같습니다.ngrx/store를 어떻게 디버깅합니까?

return state$.select(state => state.user) 
    .map(user => user.collection) 
    .catch((error, caught) => { 
     console.log('error getCollection'); 
     return caught; 
    }); 

return state$.select(state => state.user) 
    .map(user => user.collection) 
    .catch((error) => { 
     console.log('error getCollection'); 
     return Observable.throw(error); 
    }); 

콘솔은 비록 침묵 남아 :

나는 두 가지 변종을 시도, 내 선택기, 효과 및 직전 .subscribe() 문을 통해 .catch 문을 배치했다. 나는 다른 어떤 "단일 오류 원인"이 아니라 가게를 믿을뿐입니다.

이 코드는 나를 위해 오류를 catch하지 않습니다. 그럴까요? :

.do(() => { 
    Observable.throw('fake error'); 
}) 
.catch(error => { 
    console.error(error); 
    return Observable.throw(error); 
}); 

누군가가 매장 전체에서 사용되는 observables를 디버깅하는 방법을 알려줄 수 있습니까? 스트림을 로깅

답변

1

사용 수도 있었죠() -이

당신이 RXJS 가져 오기를 통해 할 연산자를 추가해야합니다 수정합니다.

return state$ 
    .do(() => { // log here }) 
    .select(state => state.user) 
    .map(user => user.collection) 
    .catch((error, caught) => { 
     console.log('error getCollection'); 
     return caught; 
    }); 
+0

하지만 무조건 로그인 할 때 잘못된 정보에 대한 정보를 어떻게 제공해야합니까? – user776686

+0

스트림에서 방출 한 내용을 로깅합니다 – danday74

+0

지도를보고있는 .map.do ... 등 – danday74

관련 문제