Uso rxjs/ajax en React, así que necesito agregar un interceptor para manejar el encabezado y la respuesta (errores globales), ¿hay alguna sugerencia?
Gracias
Puede crear una función de orden superior para producir una función ajax con función de intercepción y exportar esta instancia para su uso posterior.
const withIntercept=(preInterceptor, postInterceptor) => { return (param) =>ajax(preInterceptor(param)).pipe( map(postInterceptor), catchError(error => { console.log('error: ', error); return of(error); }) ); } // usage export const ajaxWithInterceptor=withIntercept=( param =>{ param.header={..new header }; return param }, res => do something with response...) ajaxWithInterceptor({url:xxx,header:xxx,body:xxxx,method:"post" }).subscribe()Esta es una muestra de solicitud de obtención que maneja errores, encabezados y URL base para otros métodos que podemos copiar y pegar.
const baseURL = "http://example.com/api/"; export const getAjax = (endpoint, headers = null) => { return ajax.get(baseURL + endpoint, headers).pipe( catchError(error => { if (error.status === 404) { return of(error); } else { return new Promise((resolve, reject) => { reject(error); }); } }) ); }