angular - TypeScript 管道/地图错误 - TS2322 Type Observable<{} | User> 不可分配给 Observable
问题描述
我继承了一个 Angular 6 项目并遇到了我无法解决的错误。
有问题的代码是:
public UpdateUser(request: UpdateUserRequest): Observable<User> {
this._spinner.show();
return this.http.put<User>(`${API.USER.CRUD}/${request.id}`, request)
.pipe(
map((result) => {
this._spinner.hide();
this._toastr.success(SUCCESS.USER_UPDATE);
return result;
}),
catchError((err: ErrorResponse) => {
if (err && err.error && err.error.errors) {
err.error.errors.map(m => this._toastr.error(m));
}
throw err;
}));
}
返回的错误是:
错误 TS2322:类型 'Observable<{} | User>' 不可分配给类型 'Observable'。输入'{} | 用户”不可分配给类型“用户”。类型“{}”不可分配给类型“用户”。类型“{}”中缺少属性“id”。
错误 TS2322:类型 'Observable<{} | User>' 不可分配给类型 'Observable'。
如果我从.pipe
以后删除,这很好,所以我确定问题出在地图/管道中,但不确定在哪里?
解决方案
推荐阅读
- c - 如何将结构中的一些信息打包到 2 字节缓冲区中?
- google-play-console - 如何处理短信/通话记录的谷歌控制台发布声明表
- meteor - 在通过 snap 安装的 Rocketchat 中访问流星外壳
- google-apps-script - 无法从独立脚本(Google Apps 脚本)激活工作表
- javascript - 在 Back4App 中使用 JS 按日期查询
- docker - 如何在同一台 Windows 机器上的 Windows Docker 容器上将顺序 IP 地址分配给多个托管的 .net 核心 api
- haskell - Haskell 标记“#”
- r - 混淆矩阵创建问题
- java - 如何在访问数据库中添加 currentTime?
- r - 如何完成时间序列中的缺失值