【发布时间】:2021-11-27 14:09:14
【问题描述】:
我有这个功能可以在我的fileUploadService上传文件:
fileUpload(formData: any) {
return this.http.post(`${this.apiUrl}/upload`, formData, {
reportProgress: true,
observe: 'events'
}).pipe(
map(event => this.getEventMessage(event))
);
}
private getEventMessage(event: HttpEvent<any>) {
switch (event.type) {
case HttpEventType.UploadProgress:
return this.fileUploadProgress(event);
case HttpEventType.Response:
return event.body;
default:
return `Upload event: ${event.type}.`;
}
}
private fileUploadProgress(event: any) {
const percentDone = Math.round(100 * event.loaded / event.total);
return { progress: percentDone, files: [] };
}
在我的一个组件上,我将这段代码称为:
this.fileUploadService.fileUpload(formData).subscribe(
result => {
this.upload = result;
}
)
现在我的问题是,如果网络服务器抛出错误导致 http post 功能失败并需要被捕获,我如何才能在我的组件中而不是在服务中捕获错误?
【问题讨论】:
-
试试
.fileUpload(formData).subscribe( result => { ... } , error => { ... } )?
标签: javascript node.js angular typescript