Как создать реактивную форму, которая могла бы отправить 3 post-запроса?
мой компонент с формой и методом, который подписан на один сервис
**private initTeamForm() {
this.formTeam = this.fb.group({
name: new FormControl('', [Validators.required]),
email: new FormControl('', [Validators.required]),
position_id: this.fb.group({
position_name: new FormControl('', [Validators.required]),
}),
file_id: this.fb.group({
file: new FormControl('', [Validators.required])
})
});
}
addTeam() {
this.teamService.addNewTeam(this.formTeam.value)
.subscribe(t => this.closeDialog(t));
}**
как объединить в одном методе 3 сервиса и подписаться на них?
мои сервисы team.service.ts
**addNewTeam(team: Team) {
return this.http.post<Team>(this.apiUrl, team);
}
position.service.ts
addNewPosition(position: Position) {
return this.http.post<Position>(this.apiUrl, position);
}
file.service.ts
addFileData(file) {
return this.http.post(this.apiUrlFile, file , {
reportProgress: true,
observe: 'events'
});
}**
Ответы (1 шт):
Автор решения: Валера Битковский
→ Ссылка
Оператор forkJoin из rxjs думаю справится с этой задачей:
addTeam() {
forkJoin({
newTeam: this.teamService.addNewTeam(this.formTeam.value),
secondData: this.secondService.anyRequest(this.formTeam.value),
thirdData: this.thirdService.anyRequest(this.formTeam.value)
})
.subscribe(response => this.closeDialog(response));
}