uni-app 实现数据存储、获取和删除

网友投稿 1673 2022-05-29

一、前言

项目开发过程中,需要实现数据的全局存储、获取及删除操作。为此,阅读了uni-app官方文档,发现其已经内置方法实现以上功能。

二、应用示例

uni-app 实现数据存储、获取和删除

注⚠️:如果是同步存储、获取、删除,可以使用setStorageSync()、getStorageSync()、removeStorageSync(),达到的效果是一样的。

那么,有童鞋会问setStorage()与setStorageSync()都可以存储全局变量,两者又有什么区别呢?如何根据不同的应用场景去应用不同方法呢?

首先,官方文档给出的方法定义如下:

从接口定义可以看出,setStorage()异步接口可以接口调用后回调相关方法,主要是根据业务需求来判定使用哪种方法。

以Sync(同步,同时)结尾的都是都是同步缓存,二者的区别是,异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。

通俗点说,异步就是不管保没保存成功,程序都会继续往下执行。同步是等保存成功了,才会执行下面的代码。使用异步,性能会更好;而使用同步,数据会更安全。

它们都是将数据存储在本地缓存指定的key中,单个key最大数据长度为 1MB,所有数据存储上限为 10MB。

在使用setStorageSync和setStorage时,发现setStorageSync不能传入对象:

uni.setStorageSync({ key: 'siteMessage', data: provider })

setStorageSync只支持原生类型、Date、及能够通过JSON.stringify序列化的对象,不能直接传入对象。否则报错:

setStorage:fail parameter error: parameter should be String instead of Object;

三、拓展阅读

《uni-app官方文档》

移动APP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【css盒子定位】position属性
下一篇:【技术教程】【JSAPI】使用免登授权码获取token失败的原因
相关文章