Advertisement
Guest User

Untitled

a guest
May 25th, 2020
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Это в компоненте:
  2.  
  3.   subscribe(companyId: number) {
  4.     this.store.dispatch(new CompaniesActions.SubscribeCarrier(companyId));
  5.   }
  6.  
  7. Action:
  8.  
  9. export class SubscribeCarrier implements Action {
  10.     readonly type = Actions.SUBSCRIBE_CARRIER;
  11.  
  12.     constructor(public readonly carrierId: number) {
  13.     }
  14. }
  15.  
  16. // Это в эффекте:
  17.  
  18.   @Effect()
  19.   subscribeCompany$ = this.actions$.pipe(
  20.     ofType(CompaniesActions.Actions.SUBSCRIBE_CARRIER),
  21.     switchMap(({carrierId}) =>
  22.       this.companiesService.subscribeCarrier(carrierId).pipe(
  23.         switchMap((company) => {
  24.           this.notificationService.notify('Вы успешно подписались');
  25.           return [new CompaniesSideActions.SubscribeCarrierSuccess(company)];
  26.         }
  27.         ),
  28.         catchError((err) => [new CompaniesSideActions.SubscribeCarrierError(err)])
  29.       )
  30.     )
  31.   );
  32.  
  33. // SideActions:
  34.  
  35. export class SubscribeCarrierSuccess implements Action {
  36.     readonly type = Actions.SubscribeCarrierSuccess;
  37.  
  38.     constructor(public company: any) {
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement