我正在将项目从Angular 5升级到8,并且看到了此问题。 我在做什么错了?
this.pinService.savePinComment(this.pinComment, this.pinService.participantPin).subscribe(res => {
this.pinService.modeForPinComment.next({ readOnly: false, isInEditMode: false });
});
PinService.ts
public savePinComment(model: PinComment, pin: string) {
const body = JSON.stringify(model);
const options = Utilities.getApiAuthorizedRequestOptions();
const requestUrl = `${this.pinCommentsUrl}/${pin}/${model.id}`;
return this.http
.post(requestUrl, body, options)
.pipe(
map(res => this.extractPinComment(res))),
catchError(err => {
return this.handleError(err);
});
}
感谢您的帮助。
答案 0 :(得分:3)
这种编译非常了不起。您的问题是关闭了地图上的管道,然后catchError
刚在管道外部运行。
这是正确的代码:
.pipe(
map(res => this.extractPinComment(res)), // removed a parenthesis
catchError(err => {
return this.handleError(err);
})
);