我正在使用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)
);
}
确保this.extractData
的类型与返回函数getItems(): Observable<object[]>
相同。
这意味着如果您将从该 api 调用中获得对象数组,那么您需要将它们都作为: Array<{}>
。
对于最佳实践,您可以为数据类型创建一个接口,将其添加为可观察和变量类型,如下所示:
export interface CustomData {
COUNT: number;
NAME: string;
}
您的变量为 :
public extractData: CustomData;
您的函数返回为:
getItems(): Observable<CustomData> {
如果你不想做任何这些,你可以将函数的类型更改为any
,如下所示:getItems(): Observable<any> {