HarmonyOS官方文档kvstore持久化在使用kvStore.put()和kvStore.get方法的过程中会报错

官方文档链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/data-persistence-by-kv-store-0000001820999693中使用vStore.put()和kvStore.get方法会报'kvStore' is possibly 'undefined'

需要添加一个if判断,而且还要添加this.kvStore.put(),才可以正常使用,demo如下:

const KEY_TEST_STRING_ELEMENT = 'key_test_string'; 
const VALUE_TEST_STRING_ELEMENT = 'value_test_string'; 
try { 
  if (this.kvStore) { 
    this.kvStore.put(KEY_TEST_STRING_ELEMENT, VALUE_TEST_STRING_ELEMENT, (err) => { 
      if (err !== undefined) { 
        console.error(`Failed to put data. Code======:${err.code},message:${err.message}`); 
        return; 
      } 
      console.info('Succeeded in putting data======.'); 
    }); 
  } 
} catch (e) { 
  let error = e as BusinessError; 
  console.error(`An unexpected error occurred======. Code:${error.code},message:${error.message}`); 
}
HarmonyOS
2024-08-26 17:21:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

1.文档中在createKVManager和getKVStore之后都有不为undefined的判断 后续的KVManager和KVStore都不会出现undefined的情况。

2.kvStore.get()获取不到数据是因为 应用关闭后会关闭数据库,重新打开后仍需要调用createKVManager和getKVStore获取到数据库 然后才能使用get获取数据。

分享
微博
QQ
微信
回复
2024-08-26 21:49:11
相关问题
HarmonyOS KVStore 相关问题
119浏览 • 1回复 待解决
HAP编译过程中,本地依赖tgz
740浏览 • 1回复 待解决
关于数据持久使用问题
135浏览 • 1回复 待解决
使用componentSnapshot.get能力报错
693浏览 • 1回复 待解决
如何查看官方xml文档
10739浏览 • 2回复 待解决
HarmonyOS 持久存储方案
195浏览 • 1回复 待解决