Consultez le code suivantComment faire un partage observable entre abonnés en angle 4?
getObservable() {
return this.http.get('get_something').map(
data => {
return true;
},
err => {
return false;
}
);
}
subscriber_1 = this.getObservable().subscribe(
data => {
console.log("from subscriber 1", data);
}
);
subscriber_2 = this.getObservable().subscribe(
data => {
console.log("from subsriber 2", data);
}
);
for (var _i = 0; _i < 100; _i++) {
this.getObservable()
}
Je me attends from subscriber 1
et from subsriber 2
pour obtenir imprimer 100
fois. Cependant, il est seulement imprimé 1
temps.
Je pensais que les observables sont des vecteurs et non des scalaires, de sorte que chaque fois que le même observable est invoqué, il invoquera tous les abonnés?
Je dois faire quelque chose de mal.
Quelqu'un peut-il aider?
Merci
Vous appelez votre demande dans votre déclaration de retour deux fois, puisque vous appelez votre fonction deux fois. Vous devriez plutôt écrire un membre de votre classe en tant que '' Sujet '', vous pouvez y ajouter une inscription, puis y ajouter des valeurs pour avertir les observateurs. –
pouvez-vous montrer une capture d'écran de votre sortie de la console? (je voulais juste m'assurer que vous ne voyiez pas l'augmentation de 'compte' dans la sortie comme 'bulle' sur la même ligne quand une sortie est répétée dans la console) – amal