2017-09-05 60 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調用。這是由圖書館爲你完成的。