J'essaie d'obtenir une réponse d'erreur de succès après une demande de correctif faite à l'intérieur d'un service. Bien que je puisse détacher le succès ou la réponse d'erreur dans le service lui-même, mais je ne suis pas capable de "s'abonner" ou obtenir une promesse de réponse à la fonction dans le composant qui l'a appelé.Impossible d'obtenir la méthode .then à partir d'un service abonné
Voici la fonction dans mon composant qui appelle le service
this.os.edit({
description: this.form.value.description,
role_info: {
all_learning_points: learningPointsArray
}
}).then((data) => {
console.log("Data is ", data);//Can't get the value over here
}, (error) => {
console.log("Error is: ", error);
});
Voici la fonction au service
edit(data) {
return new Promise((resolve, reject) => {
this.model.patch(`opportunities/${this.opportunity.value.id}`, {opportunity: data})
.subscribe(data => {
this.opportunity.next(data); //Getting the value here
this.router.navigate(['opportunity', this.opportunity.value.id]);
}, error => {
console.log("Error is: ", error);
alert('Something went wrong');
});
})
}
D'une certaine façon mon .alors n'est pas en mesure de saisir la réponse rejeté par la promesse dans la fonction d'édition.
Qu'est-ce qui me manque ici?
pourquoi abonnez-vous un promsie, il devrait être résolu et aussi vous ne devez pas résoudre en service à la place juste retourner une promesse et le résoudre en composant –