В моем коде есть 3 асин c трубы.
<div>{{formatedData$ | async}}</div>
<div>{{totalStatusData$ | async }}</div>
<div>{{totalPercentageData$ | async}}</div>
component.ts
Фактические данные, возвращенные из сервиса как следует
[{
"name": "one",
"steps": [{
"id": 1,
"passed": 1,
"failed": 3
},
{
"id": 2,
"passed": 4,
"failed": 0
}
]
},
{
"name": "two",
"steps": [{
"id":3 ,
"passed": 10,
"failed": 3
},
{
"id": 4,
"passed": 4,
"failed": 8
}
]
}
]
this.formatedData$ = this.service.data().pipe(map(data) => {
return this.formatData1();
})
теперь this.formatedData $ следует
[{
"name": "one",
"passed": 5,
"failed": 3
},
{
"name": "two",
"passed": 14,
"failed": 11
}
]
this.totalStatusData$=this.formatedData$.pipe(map(data) => {
return formatData2(data)
});
Теперь this.totalStatusData $ следует
{
"passed": 19,
"failed": 14
}
$totalPercentageData = this.totalStatusData$.pipe(map(data) => {
return this.formatData3(data);
})
Теперь $ totalPercentageData выглядит следующим образом
{
"passed": "57.57%",
"failed": "42.42%"
}
Как я могу связать эти Наблюдаемые в Одно вместо одного, не разрывая цепочку Наблюдаемых, начиная с фактических данных обслуживания.