HarmonyOS鸿蒙Next中关于JS使用轻量级存储

HarmonyOS鸿蒙Next中关于JS使用轻量级存储 轻量级存储需要用到context获取path,然而context.getFilesDir()这些方法都是异步的,得到的path只能在callback或者promise.then中调用,也就代表用getStorage方法创建的storage也实例只能在context.getFilesDir中的callback或者then中调用,进行数据操作。

这样所有的数据操作都只能在onInit中执行一次,而无法在事件响应函数中执行。

那么,有没有一种方法,能够创建一个全局可调用的storage实例呢?(直接导入storage接口除外)

13 回复

不是太明白楼主的意思,context.getFilesDir中的callback或者then获取到storage实例后,不是就可以全局操作这个storage了么

更多关于HarmonyOS鸿蒙Next中关于JS使用轻量级存储的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好麻烦 , 其他逻辑后的数据存储都要来这么一段么?

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

感谢,之前看了很多资料都是示例,没想到用data加this的方法,

myStorage实例之后,每次都用this.myStorage去操作就可以了,

感谢!

您好,案例找不到了,可以麻烦发下新的链接吗,感谢大神,

开发者你好,可以将获取到的storage实例赋值给一个全局变量,后续直接调用这个全局变量即可。

感谢,但是发现使用此方法无法创建storage,表现为对storage的同步操作会阻塞进程,目前怀疑是路径的原因,请问getStorage方法中的path后加的/mystore有详细的命名要求吗,

欢迎开发小伙伴们进来帮帮楼主

在HarmonyOS鸿蒙Next中,JS使用轻量级存储主要通过[@ohos](/user/ohos).data.storage模块实现。该模块提供了轻量级存储能力,适用于存储少量数据,如用户偏好设置、应用配置等。主要接口包括getStorageputgetdeleteclear

  1. 获取存储对象:使用getStorage方法获取一个Storage对象,该对象用于后续的存储操作。

    import storage from '[@ohos](/user/ohos).data.storage';
    let storage = storage.getStorage('path/to/storage');
    
  2. 存储数据:使用put方法将数据存储到指定键中。

    storage.put('key', 'value', (err) => {
        if (err) {
            console.error('Failed to put data.');
            return;
        }
        console.log('Data put successfully.');
    });
    
  3. 读取数据:使用get方法从指定键中读取数据。

    storage.get('key', (err, value) => {
        if (err) {
            console.error('Failed to get data.');
            return;
        }
        console.log('Data got successfully:', value);
    });
    
  4. 删除数据:使用delete方法删除指定键的数据。

    storage.delete('key', (err) => {
        if (err) {
            console.error('Failed to delete data.');
            return;
        }
        console.log('Data deleted successfully.');
    });
    
  5. 清空数据:使用clear方法清空所有存储的数据。

    storage.clear((err) => {
        if (err) {
            console.error('Failed to clear data.');
            return;
        }
        console.log('Data cleared successfully.');
    });
    

[@ohos](/user/ohos).data.storage模块的轻量级存储功能适用于需要快速存取少量数据的场景,数据存储在本地,不支持跨设备同步。

在HarmonyOS鸿蒙Next中,JS可以使用轻量级存储来保存和读取数据。轻量级存储适用于存储少量、简单的数据,如用户偏好设置或应用状态。通过@ohos.data.storage模块,开发者可以使用Storage类进行数据操作。主要方法包括putgetdeleteclear,分别用于存储、获取、删除和清空数据。轻量级存储基于键值对,数据持久化在设备本地,适合轻量级应用场景。

回到顶部