Получение полезной нагрузки после вызова метода «обновление» CartEntryConnector - PullRequest
0 голосов
/ 13 апреля 2020

Я использовал метод «updateEntry» ActiveCartService для обновления записи корзины. После этого сработал эффект updateEntry $ из класса CartEntryEffects, который возвратил новое действие.

updateEntry$: Observable = this.actions$.pipe(
    ofType(CartActions.CART_UPDATE_ENTRY),
    map((action: CartActions.CartUpdateEntry) => action.payload),
    concatMap(payload =>
      this.cartEntryConnector
        .update(payload.userId, payload.cartId, payload.entry, payload.qty)
        // should be my logic with payload
        .pipe(
          map(() => {
            return new CartActions.CartUpdateEntrySuccess({
              userId: payload.userId,
              cartId: payload.cartId,
            });
          }),

Как правильно получить эту полезную нагрузку? Или я могу переопределить этот эффект или добавить к нему мой лог c?

1 Ответ

0 голосов
/ 14 апреля 2020

Это зависит от того, что вы пытаетесь сделать с полезной нагрузкой.

Если вы хотите обработать его до того, как детали будут обновлены в Commerce, то это обычно обрабатывается соединителями и адаптерами. См. https://sap.github.io/spartacus-docs/connecting-to-other-systems/

Если вы хотите сослаться на обновленную запись и отобразить ее, то вы можете получить Observable через ActiveCartService. См., Например, компонент AddToCart (https://sap.github.io/spartacus/components/AddToCartComponent.html#source), который объявляет cartEntry$: Observable<OrderEntry>, а затем в ngOnInit () делает this.cartEntry$ = this.activeCartService.getEntry(this.productCode)

...