Originalmente, el error se maneja de la siguiente manera.
async getLists() { try { const list = await api.getList(); list.filter() .... } catch(e) { console.log(e) } }¿Cómo puedo manejarlo usando rxjs en la misma situación?
No estoy familiarizado con rxjs, así que no sé si es la respuesta, pero el código que pensé es así.
getLists() { from(api.getList()).subscribe( list => list.filter....., e => console.log(e) ) }Quiero saber cómo manejar todos los errores que pueden ocurrir al llamar a la API, como try-catch, y los errores que pueden ocurrir al procesar los datos recibidos de la API después de la llamada a la API.
Las promesas se devuelven después de las llamadas a la API, pero se debe usar rxjs. Si ocurre un error, quiero cancelar la suscripción.
Entonces , este debería ser un ejemplo decente de cómo manejar los errores.
const getLists = getLists() { from(api.getList()).pipe(catchError(error => of(`Bad Promise: ${error}`)) } //output: 'Bad Promise: Rejected' const subscribe = getLists.subscribe(val => console.log(val));Esto se basa en su ejemplo. Necesitas manejar una promesa, no un observable. (como lo menciona @Aakash Garg).
Puede usar suscribirse y manejar un error de suscripción como este:
getLists() { api.getList().subscribe(response => { // do something with the response data }, () => { console.log('Error text'); }) }déjame saber si te funciona.