我目前正在学习一个教程,但我遇到了这个错误:
TS2345:类型为“OperatorFunction<WorkerData,WorkerData>'不可分配给'OperatorFunction<类型的参数;对象,WorkerData>'。
“Object”类型可分配给极少数其他类型。你的意思是用“any”类型代替吗?
类型“Object”缺少类型“WorkerData”中的以下属性:项、元、链接
WorkerData是位于同一文件中的一个简单接口:
export interface WorkerData {
items: Worker[],
meta: {
totalItems: number;
itemCount: number;
itemsPerPage: number;
totalPages: number;
currentPage: number;
},
links: {
first: string;
previous: string;
next: string;
last: string;
}
};
返回此错误的函数如下:
findAll(page: number, size: number): Observable<WorkerData> {
let params = new HttpParams();
params = params.append('page', String(page));
params = params.append('limit', String(size));
return this.http.get('/api/worker', {params}).pipe(
map((userData: WorkerData) => userData),
catchError(err => throwError(err)),
)
}
这个函数。应该返回带有Worker数组和一些meta的JSON。如果我更改映射((userData:WorkerData)=>userData)映射(((userData:any)=>userData),r如果我使接口中的所有参数都不是meccecary,它会工作,但会返回如下内容:
_Observable {
source: _Observable {
source: _Observable {
source: [_Observable],
operator: [Function (anonymous)]
},
operator: [Function (anonymous)]
},
operator: [Function (anonymous)]
}
如果有人好奇的话,这个系列教程叫做博客项目V-09。也许这有帮助。如果你需要更多的信息,我很乐意提供。如果需要,我也可以发布到git。提前感谢