169 похожих чатов

Парни, вопросец по ngrx и rxjs есть таблица из которой нужно

выделить и удалить несколько сущностей
при выделении или его сбросе в сторе складируется список выделенных
при удалении оттуда берется массив и по нему пробегая для каждого жлемента диспатчится экшен на удаление, для экшена ,конечно прописан эффект, но пост реквест выполняется только для последнего из пачки
к сожалению в 1 запрос пачку удалить нельзя, только по 1 шт :(
что я не так сделал то? или как лучше сделать

вот сначала дергается это эффект, который потом дергает другие экшены:
@Effect({dispatch: false}) deleteSelectedCurrencies = this.actions$.pipe(
ofType(RisksActionTypes.DELETE_SELECTED_CURRENCIES),
withLatestFrom(this.risksStore.pipe(select('risks'))),
map(([action, risksState]) => {
risksState.currency_for_delete.forEach(currency => {
if (currency['currency_config']['currency_id']) {
this.appStore.dispatch(new RisksActions.RequestToDeleteCurrency(currency['currency_config']['currency_id']))
} else {
this.appStore.dispatch(new RisksActions.RemoveDeletedCurrencyFromGrid(fromRisks.TEMP_ITEM));
}
});
})
);
вот эффет для удаления:
@Effect() requestToDeleteCurrency = this.actions$.pipe(
ofType(RisksActionTypes.REQUEST_TO_DELETE_CURRENCY),
switchMap(action => {
return this.httpClient
.post(someURL${action['payload']}, {})
.pipe(
withLatestFrom(this.translate.get('notification_messages')),
mergeMap(([resp, messages]) => {
return [
{
type: RisksActionTypes.RM_DELETED_CURRENCY_FROM_GRID,
payload: action['payload']
},
{
type: NotificationsActionTypes.ADD_NOTIFICATION,
payload: {
message: messages.currency_was_deleted,
dismissible: true,
closeInterval: 1000,
type: 'success'
}
}
];
})
);
})
);

1 ответов

9 просмотров

ofType(RisksActionTypes.REQUEST_TO_DELETE_CURRENCY), switchMap(action => { Замените switchMap на mergeMap

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта