У меня есть побочный эффект:
@Effect()
FetchAllOrders$ = this.actions$
.ofType(SalesOrderActions.FETCH_ALL_ORDERS)
.switchMap((action: Action) => {
return this.soApiService.getUsersSalesOrders(action.payload);
})
.map((salesOrders: ListDto<SalesOrderList>) => this.actions.fetchAllOrdersSuccess(salesOrders));
Я хотел бы показать символ загрузки в начале эффекта и скрыть его в конце.
Я создал отдельный набор действий, редукторов и состояния хранилища для отображения отображаемого символа загрузки.
export class BusyActions {
static SHOW_SPINNER = "SHOW_SPINNER";
static HIDE_SPINNER = "HIDE_SPINNER";
showSpinner(): Action {
return { type: BusyActions.SHOW_SPINNER };
}
hideSpinner(): Action {
return { type: BusyActions.HIDE_SPINNER };
}
export const BusyState: IBusyState = {
visible: false,
busy: false
};
Я сделал это так, потому что состояние загрузки должно делиться с другими модулями, состояниями и т.д.
Как я могу назвать свой BusyActions побочным эффектом? Мне нужно будет вызвать SHOW_SPINNER в начале и HIDE_SPINNER в конце.
Я сделал это правильно? Или есть лучший способ справиться с этим?