У меня есть реализация зависимых http-вызовов, которые работают как шарм.Проблема в том, что я хочу использовать распознаватель для вызова данных, которые заполняют форму, до этого приложение просто показывает загрузку счетчика, пока все данные не будут загружены, но с помощью распознавателя я бы загрузил все данные вместе, поэтому я хочу выбрать его, проблема в том, что я не знаю, подходит ли мой подход.
Это мое форк-соединение в компоненте формы
forkJoin([this.service.getProvince(), this.service.getLingueStraniere(), this.service.getTitoliPreferenziali(), this.service.getRiserve()])
.pipe(switchMap(result => {
console.log('Province', result[0]);
console.log('LingueStraniere', result[1]);
console.log('TitoliPreferenziali', result[2]);
console.log('Riserve', result[3]);
return this.service.getDomanda();
}))
.subscribe((domanda: any) => {
this.popolaForm(domanda);
},
(error: AppError) => {
if (error instanceof NotFoundError) {
console.log('Error richiesta http');
} else {
console.log(error);
}
});
Прежде чем вызывать последний http-вызов 'getDomanda () ', я заполняю некоторые формы фильтра списком, и после этого я заполняю основную форму последним вызовом, поэтому, чтобы сделать последний вызов, мне нужно сначала заполнить отфильтрованные формы.Ранее объединение должно быть перемещено в резольвер.Как я могу передать первые данные в раскрывающийся список, а после в форму?Имейте в виду, что выпадающий список filterl также входит в группу mainform
Это должен быть код для записи в распознавателе, это безопасная реализация или я должен придерживаться forkjoin в компоненте формы?Спасибо.
constructor(private service: DataService) { }
resolve(route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<Data> {
return forkJoin([this.service.getProvince(), this.service.getLingueStraniere(), this.service.getTitoliPreferenziali(), this.service.getRiserve()])
.pipe(switchMap(result =>
return this.service.getDomanda();
}));
}