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}`); 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
HarmonyOS
2024-08-26 17:21:34
1013浏览
收藏 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 相关问题
1016浏览 • 1回复 待解决
HAP编译过程中,本地依赖tgz
1601浏览 • 1回复 待解决
使用componentSnapshot.get能力报错
1326浏览 • 1回复 待解决
关于数据持久使用问题
1171浏览 • 1回复 待解决