我使用自定义密钥存储数据。我想返回以id KEY-
开头的所有数据,因此我遍历所有数据和存储,并将匹配的数据推送到数组中。我可以看到数据被推送到data[]
但是当我在我的组件中调用getData()
时,它返回一个空数组。我做错了什么?
storage.ts
getData(): any {
this.storage.ready().then(() =>
{
let data = [];
this.storage.forEach((value, key, index) =>
{
if (value.id.startsWith("KEY-")) {
data.push(value);
console.log(data);
}
});
return data;
});
}
component.ts
ionViewDidLoad() {
this.data = this.storage.geData();
}
我也尝试过这种方式
ionViewDidLoad() {
this.storage.getData().then(data => console.log(data));
}
答案 0 :(得分:2)
因此,只需从您的函数返回一个承诺,然后尝试使用此承诺解析data
。
getData(): any {
return this.storage.ready().then(() =>
{
let data = [];
this.storage.forEach((value, key, index) =>
{
if (value.id.startsWith("KEY-")) {
data.push(value);
console.log(data);
}
});
return data;
});
}