на ngOnInit я делаю 4 http запроса на данные, после чего мне нужно загрузить данные с сервера, чтобы заполнить формы данными, основанными на модели данных последнего 4 http вызова.
Короче говоря, яМне нужно подписаться на эти 4 http-звонка и убедиться, что они не потерпят неудачу, если они не сработают. Наконец, я могу позвонить на 5-й http-вызов, чтобы получить данные с сервера.
Из того, что я понимаю, мне следует избегатьвставить наблюдаемый и перейти с переключателем, но как сделать это с 4 HTTP-вызовом?Должен ли я создать наблюдаемое ожидание http-вызовов и, если удастся использовать switchmap при 5-м http-вызове?
Это код.
ngOnInit() {
this.service.getProvince().subscribe(
(value) => { return value; },
(error: AppError) => {
if (error instanceof NotFoundError) {
console.log('Error richiesta http');
} else {
console.log(error);
}
});
this.service.getLingueStraniere().subscribe(
(value) => { return value; },
(error: AppError) => {
if (error instanceof NotFoundError) {
console.log('Error richiesta http');
} else {
console.log(error);
}
});
this.service.getTitoliPreferenziali().subscribe(
(value) => { return value; },
(error: AppError) => {
if (error instanceof NotFoundError) {
console.log('Error richiesta http');
} else {
console.log(error);
}
});
this.service.getRiserve().subscribe(
(value) => { return value; },
(error: AppError) => {
if (error instanceof NotFoundError) {
console.log('Error richiesta http');
} else {
console.log(error);
}
});
}
// this is the 5th call that need to be done only if last 4 call not fail
finalCall {
this.service.getDomanda().subscribe((domanda: any) => {
this.popolaForm(domanda); // Method that use data to fill foms
},
(error: AppError) => {
if (error instanceof NotFoundError) {
console.log('Error richiesta http');
} else {
console.log(error);
}
});
}