Когда вы подписываетесь на forkjoin, вы получите массив данных, которые вы вызвали, чтобы избежать этого, и получите единственную наблюдаемую, вам просто нужно уничтожить массив данных, и ошибка intellisense должна исчезнуть, ваша ошибка передавала данные, а не разрушаемуюobservable:
forkJoin(
[
this.service.getProvince(),
this.service.getLingueStraniere(),
]).subscribe(
([Province, LingueStraniere]) => {
this.province = Province;
this.lingueStraniere = LingueStraniere;
}
);
Теперь ваш код должен выглядеть следующим образом:
forkJoin([
this.exampleRepo.getApplication(),
this.exampleRepo.getCompany(),
this.exampleRepo.getBankAccount(),
this.exampleRepo.getContact(),
this.exampleRepo.getDirector(),
this.exampleRepo.getAllWebsites(),
this.exampleRepo.getAllFiles(),
this.exampleRepo.getDirectorFiles()
]).subscribe(
([
application,
company,
bankAccount,
contact,
director,
website[],
directorFile[],
]) => {
this.application = application;
this.company = company;
this.bank_account = bankAccount;
this.contact = contact;
this.director = director;
this.websites = website[];
this.files = directorFile[];
}
);
Если вы не укажете тип одиночного запроса перед выполнением форка, интерфейс не будет работать, поэтому вваш сервис, где вы определяете ваш HTTP-запрос Приложения, сопоставьте значение с его интерфейсом:
.pipe(map((value: Application) => value))
Вам необходимо сопоставить данные с интерфейсом, иначе форк-соединение выдаст ошибку, если вы этого не сделаете,тип по умолчанию будет любым, который будет контрастировать с типом интерфейса, который вы определили в forkJoin.