De acuerdo con este artículo , onComplete
y la onError
función de los subscribe
son mutuamente excluyentes.
Es decir, onError
o los onComplete
eventos se dispararán en mi subscribe
.
Tengo un bloque lógico que debe ejecutarse si recibo un error o si termino mi flujo de información con éxito.
Busqué algo como finally
en Python , pero todo lo que encontré es finally
que debe adjuntarse al observable que creo.
Pero quiero hacer esa lógica solo cuando me suscriba, y después de que la transmisión haya terminado, ya sea con éxito o con un error.
¿Algunas ideas?
fuente
finally()
método se agrega primero y la suscripción obliga imperativamente a aprobar / reprobar.finally
bloque sería el último en su código.Lo único que funcionó para mí es esto
fuente
Ahora estoy usando RxJS 5.5.7 en una aplicación Angular y el uso del
finalize
operador tiene un comportamiento extraño para mi caso de uso, ya que se activa antes de las devoluciones de llamada de éxito o error.Ejemplo simple:
He tenido que usar
add
medhod en la suscripción para lograr lo que quiero. Básicamente, unafinally
devolución de llamada después de que se realizan las devoluciones de llamada de éxito o error. Como untry..catch..finally
bloque oPromise.finally
método.Ejemplo simple:
fuente