NetanelBasal
3/8/2017 - 7:51 PM

http.effect.ts

@Injectable()
export class HTTPEffects {
  constructor( private actions$ : Actions, private http : Http ) {
  }

  @Effect() request$ = this.actions$
    .ofType(API_REQUEST)
    .map(toPayload)
    .switchMap(payload =>
      this.http.request(payload.url, {
        search: payload.search,
        params: payload.params,
        headers: payload.headers,
        body: payload.body
      })
        .map(res => ({type: payload.onSuccess, payload: res.json()}))
        .catch(() => Observable.of({type: payload.onError})));

}