web-dev-qa-db-fra.com

Un moyen simple d'obtenir la valeur actuelle d'un BehaviorSubject avec rxjs5

Auparavant, dans rxjs4 , il y avait une méthode dans le BehaviorSubject appelée: getValue() ( doc ici ).

Cette méthode n'existe plus dans rxjs5 .

Donc, la seule solution que j'ai trouvée pour obtenir la valeur d'un BehaviorSubject était:

let value;
myBehaviorSubject.take(1).subscribe( (e) => value = e );

Ce code s'exécute de manière synchrone (je ne comprends pas exactement pourquoi, mais il le fait ...) et obtient la valeur. Cela fonctionne, mais ce n'est pas aussi propre qu'il pourrait l'être si getValue() était présent:

let value = myBehaviorSubject.getValue();

Pourquoi getValue() a été supprimé dans rxjs5 et quelle est la solution la plus propre à ce problème?

30
Clement

Comme l'a souligné artur grzesiak dans les commentaires, l'interface BehaviorSubject a été nettoyée, et le getter est maintenant juste .value.

Je voulais juste ajouter ceci comme réponse parce que je n'ai presque pas lu les commentaires de la question d'origine et j'aurais manqué la bonne réponse.

54
Tyson Phalp