J'essaie de cartographier la réponse de l'API comme indiqué ci-dessous à l'aide de RXJS
en service, j'ai le suivant P> dans mon composant, je voudrais mapper le Réponse aux observables suivants P> de sorte que je pourrais être lié mon data $ code> Observable à l'aide de tuyau ASYNC dans mon modèle comme suit P>
3 Réponses :
Je pense que vous n'êtes intéressé que par l'observable, je vous recommanderais donc de vous inscrire à votre méthode FetchData. Et puis vous pouvez mapper cette réponse. Par exemple:
myservice.fetchData().subscribe( (data)=>{ //Map your response here } )
Le but est de souscrire à l'observable avec le tuyau asynchrone afin de ne pas aider à souscrire à l'intérieur du composant.
Vous pouvez utiliser la carte RXJS MAP CODE> OPLACE pour obtenir ce dont vous avez besoin comme indiqué ci-dessous:
headers$: Observable<Headers>;
data$: Observable<Array<Data>>;
onInit(){
const response = this.myservice.fetchData();
this.headers$ = response.pipe(map(resp => resp.headers));
this.data$ = response.pipe(map(resp => resp.data));
}
Vous pouvez manipuler un flux à l'aide des opérateurs RXJS, mais dans votre cas, vous devez intégrer vos observables avec un flux donné.
La solution rapide serait de mapper chaque observable à l'infromation souhaitée: P>
<div *ngFor="let item of response.data"> {{ Whatever }} </div>
Quelle est la forme des données que vous recevez de l'appel http? Je demande parce que je crois que l'interface de réponse devrait changer
Je reçois un objet avec deux articles 1. Objet en-têtes 2. Liste des éléments de données E.g
{en-têtes: {}, données: []} code>
Avez-vous besoin que des données? et pas d'en-têtes?