我Ionic Storage
用于本地存储目的。要使用我创建的存储service
,我有 getter 和 setter 存储方法。
我想检查应用程序的负载,是否有任何值在存储中可用,如果值在存储中不可用,而不是只想进行实际数据调用并将设置为存储,但下次病房想从存储而不是实际获取数据。
现在的问题是当我的组件被加载时,我正在调用服务的storage.get
方法,这需要时间,因为该组件的属性没有设置为实际存储的正确值。
此外,用于从服务返回字符串值的方法不允许在没有最终返回语句的情况下编写方法,如下面的代码中所述[现在我已经从 Promise 添加了两个返回语句,这对我来说似乎不是正确的设计,但没有我收到编译错误],并且由于 Promise 从存储中获取响应所花费的时间,两个返回语句都在不同的时间间隔执行,这会导致存储中的实际响应过度疲劳。
我不确定如何从 Promise 管理这种情况,因为默认情况下离子存储返回 Promise。
getDefaultLanguage(): string {
this.storage.get('defaultLanguage').then((res) => {
return this.defaultLanguage = res || 'en';
});
return this.defaultLanguage;
}
请让我知道如何在组件中保持执行,直到我从上面使用 Promise 的服务调用得到响应,所以核心组件的逻辑可以正常工作,还想要正确的方法来实现我想要结果的服务层string
来自 Promise 而不是promise<any>
.