Drodzy!
Zbieram doświadczenie w ngrx store i staram się wykorzystać efekty podpięte do akcji. Mam taki przypadek: wybieram rekord z rejestru, otwiera się modal z potwierdzeniem i po potwierdzeniu przez użytkownika odpalam metodę API z serwisu. Popełniłem taki kod:
export const deleteRecordEffect = createEffect(
(action$ = inject(Actions), service = inject(ApiService), modalService = inject(ModalService)) => {
return action$.pipe(
ofType(MyActions.DeleteRecord),
/*
tap(async (action) => {
let response = await modalService.confirmModal();
if(response != true){
return;
}
}
*/
exhaustMap((action) => service.deleteRecord(action.id)
.pipe(
map(() => MyActions.showToastr('success!'))
)
)
}
)
Problem mam z tym, że nie mam pojęcia jak wkomponować zakomentowany tap() obsługujący wyświetlenie modala i jak powiązać decyzje usera z dalszym wykonaniem części w exhuastMap :D
Stora używam od niedawna i przyznam, że sprawia mi trochę trudności czytanie sygnatur tych metod, chociaż i tak parę rzeczy już zrobiłem - dokumentacja zawiera działające od strzała przykłady (https://ngrx.io/guide/effects) ale nie wszystkie wyczerpują moje potrzeby.
Za jakiekolwiek wskazówki dziękuję z góry!
Pozdrawiam,
Dawid.