2017-09-05 56 views
1

嗨Stackoverflow团队!NGRX 4角色特效4.3 httpClient

我有这个效果,我在角色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(AUTH) 非常感谢

回答

0

.exhaustMap是一个操作符,这将订阅到由回调代码返回的任何观测。它会一直听,直到观察结束。如果您知道始终只有一个响应,您可能需要添加.login(auth).take(1)

@Effect将属性变量声明为Observable<action>。在引导过程中,ngrx库将会在您的应用程序中注册的所有效果上调用subscribe

这就是为什么你没有在任何文档中看到subscribe调用。这是由图书馆为你完成的。