В приведенном ниже коде у меня есть этот Сервис 1: метод uploadAttachment, который фактически выполняет HTTP-пост-вызов, и этот метод (uploadAttachment) вызывается из другого Сервиса 2. В Сервисе 2 я всегда получаю экземпляр сервиса 1 неопределенным.Итак, вызов не был выполнен в Сервисе 1.
Сервис 1:
@Injectable({
providedIn: 'root'
})
export class Service1 {
constructor(private http: HttpClient) {}
uploadAttachments(formData: any): any {
const headers = new HttpHeaders();
headers.append('Content-Type', 'multipart/form-data');
headers.append('Accept', 'application/json');
return this.http.post(this.baseURL + 'Data/UpdateInsertAttachments', formData,
{headers: headers});
}
}
Сервис 2:
@Injectable({
providedIn: 'root'
})
export class Service2 {
constructor(private service: Service1) {
fileChange(event) {
const formData: FormData = new FormData();
// some code
this.service.uploadAttachments(formData).subscribe(
resp => {
if (resp === -1 ) {
alert('Error occured while uploading the attachment');
return;
} else {
// some code
}
},
(error) => {
console.log('POST ERROR in method uploadAttachments: ' + error.error);
});
}
}