2017-09-05 2 views
1

안녕하세요 Stackoverflow 팀!각도 4 NGRX 4 효과 http 클라이언트

나는이 효과가 있으며 서비스에서 4.3의 httpClient가있는 ngrx 4를 사용하고 있습니다. 문제는 함께 사용하는 방법에 대한 예제를 볼 수 없다는 것입니다. 나는 우리가이) (가입 방법을 사용할 필요가 HttpClient를 함께 이제보고, 그래서, 다음 코드에 예를 들어, 무엇을 반환 할 수 분명하지 않다 : 그래서

@Effect() 
login$ = this.actions$ 
.ofType(Auth.LOGIN) 
.map((action: Auth.Login) => action.payload) 
.exhaustMap(auth => 
    this.authService 
    .login(auth) 
    .map(user => new Auth.LoginSuccess({ user })) 
    .catch(error => of(new Auth.LoginFailure(error))) 
); 

, 내가 이해할 필요 이 라인의 논리 : 내용 .login (인증) 감사

답변

0

.exhaustMap 순전히 콜백 코드에 의해 반환되는 모든 관찰 가능한에를 구독 할 것이다 연산자입니다. 관측이 완료 될 때까지 계속 듣게 될 것입니다. 항상 하나의 응답 만있을 것이라는 것을 알고있는 경우 .login(auth).take(1)을 추가 할 수 있습니다.

@Effect은 속성 변수를 Observable<action>으로 선언합니다. 부트 스트랩하는 동안 ngrx 라이브러리는 응용 프로그램에 등록 된 모든 효과에 대해 subscribe을 호출하는 라이브러리입니다.

그런 이유로 설명서에 subscribe 전화가 표시되지 않습니다. 이것은 도서관에서 귀하를 위해 행해지는 것입니다.