我正在将我的服务调用转换为使用新的HttpClient。我遇到了以下三个问题:
- 如何在等待post、get、put响应时显示旋转图标/进度条等。
- 如何模拟缓慢的响应。
- 是否可以使用新的进度事件来触发这种功能?
application.component.ts
this.applicationFormService.putForm(formModel)
.subscribe(
// Successful responses call the first callback.
(res) => this.goToRoute(res),
// Errors will call this callback instead:
(err: HttpErrorResponse) => {
if (err.error instanceof Error) {
console.log("Client-side error occured.");
} else {
console.log("Server-side error occured.");
}
},
//Tried adding progress event logic here but I get error Argument of type '(event: any) => void' is not assignable to parameter of type '() => void'. Is this totally the wrong implementation and can it even be used for showing progress?
event => {
// Via this API, you get access to the raw event stream.
// Look for upload progress events.
if (event.type === HttpEventType.UploadProgress) {
// This is an upload progress event.
} else if (event instanceof HttpResponse) {
}
}
)
application.service.ts
constructor (private httpNew: HttpClient){}
putForm(applicationForm:any){
this.applicationId = this.id.id
const req = new HttpRequest('PUT', this.applicationSubmitUrl+this.applicationId, applicationForm, {
reportProgress: true,
});
return this.httpNew.request(req)
}