我知道这可能不是100%正确的方法,所以也欢迎清理建议。
刚刚学习/习惯了Ionic2,我在返回存储项目时遇到了麻烦。
服务
import { Injectable } from "@angular/core";
import { Storage } from '@ionic/storage';
@Injectable()
export class LocationItemService {
locationItems: LocationItem[] = [];
constructor(
private storage: Storage
) {}
getListItems(id): Promise<LocationItem[]> {
this.storage.get("Location_Items_" + id).then((val) => {
// This does console out the proper value.
console.log(val);
// Thus Promise contains the proper value.
return Promise.resolve(val);
});
}
}
但是,当我在开发中运行我的应用程序时,我收到此错误: “声明类型既不是'void'也不是'any'的函数必须返回一个值。”
即使我设置了this.locationItems,我仍然需要返回promise,以便在Promise解析之前不会运行下一个函数。
我认为它与scope.get内部的范围有关,而不是直接在函数本身内,并尝试了一些解决方法无济于事。感谢您提供的任何意见!
答案 0 :(得分:0)