Desidero avere un percorso di codice semplice per la creazione e l'invio di azioni HTTP. Quello che vorrei fare è qualcosa di simile:Angular2 + ngrx/store per problemi di gestione richieste HTTP
this.http.request(...)
.map((res: Response) => res.json())
.catch((err: any) => err.json())
.map((payload: any) => { type: 'SUCCESS', payload })
.catch((payload: any) => { type: 'FAILURE', payload})
.subscribe((action: Action) => this.store.dispatch(action));
In questo modo entrambe le risposte di successo e fallimento sono convertiti in JSON e poi basano sul successo/fail criteri assegnano il tipo di riduzione corretta in modo che il negozio può essere azionata su correttamente. (pensa al login utente riuscito e al fallimento che restituisce un 200 o un 401).
Esiste un modo più pulito o migliore per gestirlo? L'attuale 2 .catch
non funziona bene poiché non restituisce un osservabile.
Suggerimenti o altre soluzioni sono benvenute?
Non si chiama 'new auth.LoginSuccessAction (utente)' su errore di connessione? – maurycy