Je travaille donc avec un pipeline de traitement de données. Avec un seul article, cela fonctionne bien. Il commence à s'effondrer quand j'essaie de faire le même processus avec un tableau d'éléments. Voici ce que j'ai jusqu'ici qui fonctionne avec un seul article.RXJS - Traitement d'un tableau d'éléments
this.thingService.getThingById(thing.id)
.flatMap(i => {
return this.createThingVM(i)
})
.flatMap(j => {
return this.getMoreInfoAboutTheThing(j)
})
.flatMap(z => {
return this.getMoreThingData(z)
})
.flatMap(y => {
return this.finalThingProcessing(y)
})
.subscribe(x => console.log('Single thing' + JSON.stringify(x)));
}
Chaque étape prend un Thing and returns an Observable<Thing>
.
Le traitement de la chose nécessite un ordre particulier. Quand j'essaye de faire concatmap d'abord, j'obtiens l'erreur You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
Des suggestions?
Vos étapes de traitement génèrent-elles vraiment des flux de valeurs, ou sont-elles uniquement des valeurs uniques enveloppées dans 'Observable'? Il est difficile d'imaginer que l'expansion et l'aplatissement de votre flux donnent des résultats significatifs, et c'est peut-être pourquoi le traitement de plus d'un élément vous pose des problèmes. – concat
difficile de vous aider si vous ne nous dites pas ce que toutes ces fonctions retournent ou ce que votre code "brisé" ressemble – Brandon
Pour clarifier, ce sont des valeurs enveloppées dans un Observable. –
Ben