Selon cet artcle , onComplete
et la onError
fonction du subscribe
sont mutuellement exclusives.
Ce qui signifie que l'un onError
ou l' autre des onComplete
événements se déclenchera dans mon subscribe
.
J'ai un bloc logique qui doit être exécuté que je reçoive une erreur ou que je termine mon flux d'informations avec succès.
J'ai recherché quelque chose comme finally
en python , mais tout ce que j'ai trouvé est celui finally
qui doit être attaché à l'observable que je crée.
Mais je veux faire cette logique uniquement lorsque je m'abonne et après la fin du flux, que ce soit avec succès ou avec une erreur.
Des idées?
la source
finally()
méthode est ajoutée en premier et que l'abonnement force impérativement la réussite / l'échec.finally
bloc viendrait en dernier dans votre code.La seule chose qui a fonctionné pour moi est ceci
la source
J'utilise maintenant RxJS 5.5.7 dans une application angulaire et l'utilisation de l'
finalize
opérateur a un comportement étrange pour mon cas d'utilisation car il est déclenché avant les rappels de succès ou d'erreur.Exemple simple:
J'ai dû utiliser la
add
méthode de l'abonnement pour accomplir ce que je voulais. Fondamentalement, unfinally
rappel après le succès ou les rappels d'erreur sont effectués. Comme untry..catch..finally
bloc ou unePromise.finally
méthode.Exemple simple:
la source