Я пытаюсь включить следующие функции в среде Angular7, @ ngrx / Effects:
В URL есть идентификатор пользователя, и я хотел бы выбрать пользователя из массива пользователей, полученного с сервера (/api/users
конечная точка).
Я хотел бы сделать вызов API с userService.getUsers, и после его завершения я бы хотел выбрать пользователя из массива пользователей, полученного с сервера, с идентификатором пользователя, присутствующим в URL.
Пока что у меня есть это, но оно не отправляет действие для выбора пользователя на основе параметра URL, оно только отправляет и действие для настройки всех учетных записей.
@Effect()
loadUsers$ = this.actions$.pipe(
ofType(userActions.LOAD_USERS),
switchMap(() => this.userService.getUsers().pipe(
map((accounts: UserAccount[]) => new LoadUsersSuccessAction(accounts),
catchError(() => of(new LoadUsersFailAction()))
))
));
Как я могу дождаться изменения параметра URL и отправить 2 действия с помощью
a) учетные записи были загружены (LoadUsersSuccessAction) и
b) на основе параметра URL (например, /users/{id}
) выбрать пользователя из числа пользователей, полученных с сервера (SelectUserAction)?
EDIT
Я почти уверен, что должен использовать оператор combineLatest
, но не знаю, как.