У меня есть 2 функции для входа в систему: получить соль, затем войти
Но когда я отправляю действие Login, оно просто вызывает 1 раз (получаю соль один раз)
getSalt и logIn наблюдаются здесь.
Мой эффект написан правильно? Нужна помощь, я новичок в rxjs, спасибо!
Мой эффект
@Effect()
logIn$: Observable<any> = this.action$
.pipe(
ofType<LogIn>(AuthActionTypes.LOGIN),
map((action: LogIn) => action.payload),
switchMap(payload => {
return this.authService.getSalt(payload.username)
.pipe(
map(data => {
return this.authService.logIn(payload, data);
})
);
})
);
Соль моя
public getSalt(username: string): Observable<string> {
const url = `${host}/customers/${username}/salt`;
console.log('url salt', url);
return this._http.get<{ salt: string }>(url)
.pipe(
map(res => res.salt)
);
}
Мой логин
public logIn({username, password}: { username: string, password: string }, salt: string) {
/../
return this._http.get(url, {params, headers});
}