我正在使用Ionic编写购物清单应用程序,目前正在尝试将mongoDB中的信息与Ionic应用程序集成。
但是,当我运行ionic serve
时,浏览器中唯一加载的是Cannot GET /
。我不确定代码中哪里出了错。
编译时出现错误
类型
Observable<{}>
无法分配给类型Observable<object[ ]>
。
我认为问题出在getItems
函数中。任何帮助将不胜感激!
getItems(): Observable<object[]> {
return this.http.get(this.baseURL + '/api/groceries').pipe(
map(this.extractData),
catchError(this.handleError)
);
}
答案 0 :(得分:1)
您需要确保this.extractData
的类型与返回函数getItems(): Observable<object[]>
相同。
这意味着,如果您将从该api调用中获取对象数组,则需要将它们都设为: Array<{}>
。
为获得最佳实践,您可以为数据类型创建一个接口,将其添加为可观察的变量类型,如下所示:
export interface CustomData {
COUNT: number;
NAME: string;
}
您的变量为:
public extractData: CustomData;
函数返回为:
getItems(): Observable<CustomData> {
如果您不想执行任何操作,则可以将函数的类型更改为any
,如下所示:getItems(): Observable<any> {