Мне нужна помощь, у меня два запроса на отдых, и мне нужно объединиться в один объект.Итак, мой два запроса мне нужно вызвать:
this.http.get<Observable<Machine>>(Config.urlApi + 'machines')
this.http.get<Observable<MaintenanceState>>(Config.urlApi + 'MaintenanceStates/' + '300000')
Объект, возвращенный из первого запроса (объект массива):
...
{
"mccId": 69,
"mccSerialNum": "300000",
"mccIsOnline": 0,
"mccUsrId": 1,
"mccTypeMachine": "tes",
"mccEmailCustomer": "xxxx@xxxxx.it",
"mccVersion": "2.0",
"mccActivationDate": "2019-02-01T00:00:00",
"alrAlarms": [],
"gpsGeolocations": [],
"hrpHistoryRepo": []
}
...
Объект, возвращенный из первого запроса:
{
"mnsId": 22,
"mnsMccId": 69,
"mnsOrdinaria": false,
"mnsBiennaleRfi": false,
"mnsAnnuale": false,
"mnsQuinquennale": false,
"mnsFlag": null
}
Итак, я бы вернулся так:
{
"mccId": 69,
"mccSerialNum": "300000",
"mccIsOnline": 0,
"mccUsrId": 1,
"mccTypeMachine": "tes",
"mccEmailCustomer": "xxxx@xxxxx.it",
"mccVersion": "2.0",
"mccActivationDate": "2019-02-01T00:00:00",
"alrAlarms": [],
"gpsGeolocations": [],
"hrpHistoryRepo": [],
// how to join this in the same object ?
{
"mnsId": 22,
"mnsMccId": 69,
"mnsOrdinaria": false,
"mnsBiennaleRfi": false,
"mnsAnnuale": false,
"mnsQuinquennale": false,
"mnsFlag": null
}
}
Так что я новичок в RxJS и пытаюсь сделать это с помощью rxJS и Angular 7, мне нужно вызвать второй запрос после фильтра mnsMccId
по первому запросу и для каждого объекта в массиве мне нужно поместить второй результат запроса.
Мой обучающий код:
const values$ = this.http.get<Observable<Machine>>(Config.urlApi + 'machines')
.pipe(
tap(),
map(res => this.http.get<Observable<MaintenanceState>>(Config.urlApi + 'MaintenanceStates/' + res.mccSerialNumber /*this id got by the first query*/))
)
.subscribe(res => {
console.log('res: ', res);
});
Ясно, что не работает, труднопонять для меня.Я новый.Спасибо.