Я нахожусь в такой ситуации, когда я записываю свои вызовы API во вложенном формате.Учитывая требование, что вызовы API, сделанные последним, зависят от результата первого, есть ли лучший способ справиться с этим?Я особенно хочу найти чистое и элегантное решение с точки зрения лучшей организации вызовов, чтобы я мог избежать вложенности
ОБНОВЛЕНИЕ:
вот код, который представляет реальную ситуацию, которую я хочу обработатьлучше:
Вызовы API представляют последовательность, в которой должны быть действия / поток приложения.Есть ли лучший способ обработки вложенных вызовов?
dummyMethod(){
activeModal.result.then((modalResult)=>{
var payload = {
id:modalResult.id,
value:modalResult.value,
}
this.dataService.updateRelationship(payload)
.subscribe(response =>{
if(response.success){
var payload:{
otherId: response.someId,
otherValue:response.someValue
}
this.dataService.doCleanup(payload)
.subscribe(otherResponse => {
if(otherResponse.success){
var anotherPayload:{
someOtherId: otherResponse.otherId,
someOtherValue: otherResponse.otherValue,
}
this.dataService.fetchResults(anotherPayload)
.subscribe(results => {
// do something with results
}, error => {
// log error
});
}}, otherError => {
// log error
});
}
}, error => {
// log error
});
});
}