Я пытаюсь поймать 500
ошибок при загрузке файла, но я не могу этого сделать. Я попытался добавить несколько типов перехватов в коде, но ни один из них не сработал.
Это основной метод загрузки в моем сервисе:
private uploadFile(endpoint: string, uploadModel: UploadFileModel): Observable<number | null> {
uploadModel.formData.append('file', uploadModel.file);
return this._httpClient
.post(endpoint, uploadModel.formData, {
reportProgress: true,
observe: 'events'
}).pipe(map(event => {
switch (event.type) {
case HttpEventType.UploadProgress:
const progress = Math.round(100 * event.loaded / event.total) / 100;
uploadModel.progress = progress;
return progress;
case HttpEventType.Response:
console.log('response', event.body);
return event.body;
}
})) as Observable<number | null>;
}
Затем я называю его так:
const subscription = this._presentationService
.uploadFile(endPoint, model)
.subscribe({
next: res => {
if (typeof res === 'number' && res >= 1) {
this.presentationFile.step++;
this.presentationFile.progress = 0;
subscription.unsubscribe();
return;
} else {
console.log('res', res);
}
return this.setStepComplete(false);
},
error: err => console.log('err', err),
complete: () => console.log('complete')
});
Всякий раз, когда создается 500
, все, что выводится на консоль, выглядит следующим образом:
Я пытаюсь Перехватите эти 500
ошибки, чтобы отобразить сообщение об ошибке для пользователя.