您好Stackoverflow团队!
我有这个效果,我在服务上使用ngrx 4和angular 4.3 httpClient。 问题是我看不到任何关于如何一起使用它们的例子。 我现在看到了,使用httpclient我们需要使用subscribe()方法,因此不清楚是什么,例如在以下代码上返回:
@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 :(得分:1)
.exhaustMap
是一个运算符,它将订阅到回调代码返回的任何observable。在观察完成之前,它会继续倾听。如果您知道总会有一个响应,则可能需要添加.login(auth).take(1)
。
@Effect
将属性变量声明为Observable<action>
。在引导期间,ngrx库将是在应用程序中注册的所有效果上调用subscribe
的库。
这就是为什么你在任何文档中都没有看到subscribe
调用的原因。这是由图书馆为您完成的。