Я использую 3 конечных точки для своего приложения, 1 из конечных точек зависит от другого ответа конечной точки, который является списком, тогда мне нужно использовать каждый элемент списка для использования другой конечной точки, давайте назовем ихepA
, epB
и epC
, epA
возвращает список, а затем я использую этот список на epB
, что-то вроде epA.Foreach( x => epB(x))
, и я пытаюсь объединить epB
и epC
в один объединенныйсписок, так как оба имеют одинаковые поля.
Моя проблема в том, что я слишком нов, используя угловые и наблюдаемые, я не знаю, есть ли способ объединить эти результаты epB и epC (не упоминая, что в настоящее время,Я подписываюсь на наблюдаемые и присваиваю их значения другим объектам, которые мне нужны) ... Если бы кто-нибудь мог мне помочь, это было бы очень признательно.Извините, если это слишком грязно, у меня мало опыта публикации здесь и написания кода на угловых.
вот какой-то код, который у меня сейчас есть ... он немного уродливый, но он делает свою работу
код
this._serverRequests.epA(this._Token).subscribe(x => {
this.servers = x;
x.forEach(server =>
this._serverRequests.epB(server)
.subscribe(info => {
this.serverInfo = info;
this.GridModel.data = info['States'];
this.GridModel.data.forEach(se => {
se.Start = this.formatValuesPipe.transform(se.Start, 'grid');
});
this.GridModel.data.map( o => {
o.ServerUrl = server;
});
})
);
},
error => this.errMsg = <any>error
);
this._serverRequests.epC(this._Token).subscribe(lic => {
this.licensesList = lic;
this.licensesModel.data = this.licensesList.LicenseUsageList;
this.licensesModel.data.forEach(li => {
li.AcquisitionTime = this.formatValuesPipe.transform(li.AcquisitionTime, 'grid');
});
});
Я также попробовал forkjoin, нотак как epA возвращает список, я не знаю, как вызвать каждый элемент внутри forkjoin