uniapp数据缓存(存储/获取/移除/清空)

1.存储:

异步:uni.setStorage(OBJECT)
javascript 复制代码
uni.setStorage({
	key: 'storage_key',
	data: 'hello',
	success: function () {
		console.log('success');
	}
});
同步:uni.setStorageSync(KEY,DATA)
javascript 复制代码
try {
	uni.setStorageSync('storage_key', 'hello');
} catch (e) {
	// error
}

2.获取:

异步:uni.getStorage(OBJECT)
javascript 复制代码
uni.getStorage({
	key: 'storage_key',
	success: function (res) {
		console.log(res.data);
	}
});
同步:uni.getStorageSync(KEY)
javascript 复制代码
try {
	const value = uni.getStorageSync('storage_key');
	if (value) {
		console.log(value);
	}
} catch (e) {
	// error
}

3.移除:

异步:uni.removeStorage(OBJECT)
javascript 复制代码
uni.removeStorage({
	key: 'storage_key',
	success: function (res) {
		console.log('success');
	}
});
同步:uni.removeStorageSync(KEY)
javascript 复制代码
try {
	uni.removeStorageSync('storage_key');
} catch (e) {
	// error
}

4.清除本地缓存

异步:uni.clearStorage()

javascript 复制代码
uni.clearStorage();
同步:uni.clearStorageSync()
javascript 复制代码
try {
	uni.clearStorageSync();
} catch (e) {
	// error
}

注:

异步 API,在调用该方法后会立即返回,并且可能不会立即将数据存储到本地存储空间中,而是需要等待一定的时间。因此,在调用该方法后如果需要使用该数据,需要在回调函数中进行操作

同步 API,调用该方法后会立即阻塞并等待数据存储完成,返回的是存储操作的结果。可以简化代码,避免使用回调函数。但是,需要注意同步 API 可能会阻塞主线程,因此应该尽量避免在 UI 线程中使用同步 API。

同步异步详细解答可跳转--> 同步,异步及Promise的详解_promise 同步执行-CSDN博客

获取详细信息点击官方文档->uni.setStorage(OBJECT) @setstorage | uni-app官网

相关推荐
开发者小天1 天前
调整为 dart-sass 支持的语法,将深度选择器/deep/调整为::v-deep
开发语言·前端·javascript·vue.js·uni-app·sass·1024程序员节
xiaogg36781 天前
redis-cluster集群配置部署
数据库·redis·缓存
PineappleCode1 天前
三种防重方案对比:标志位、防抖节流、缓存的适用场景
缓存
Rocket MAN1 天前
Spring Boot 缓存:工具选型、两级缓存策略、注解实现与进阶优化
spring boot·后端·缓存
weixin_46681 天前
Redis数据库基础
数据库·redis·缓存
Lucky小小吴1 天前
开源项目解读4-高性能并发缓存库Ristretto
缓存·开源·高并发·高性能缓存·实时数据处理·ristretto·tinylfu
游戏开发爱好者82 天前
iOS 开发推送功能全流程详解 从 APNs 配置到上架发布的完整实践(含跨平台上传方案)
android·macos·ios·小程序·uni-app·cocoa·iphone
栈狮2 天前
uniApp使用支付宝云开发问题集合
uni-app
Heyuan_Xie2 天前
uni-app facebook登录
uni-app·uni-app插件
亮子AI2 天前
【NestJS】在 nest.js 项目中,如何使用 Postgresql 来做缓存?
开发语言·缓存·node.js·nest.js