第19讲 : uni-app 接口 – 数据缓存
最后更新于:2022-04-02 07:28:26
## uni.setStorage(OBJECT)
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
### OBJECT 参数说明
```
参数名 类型 必填 说明
key String 是 本地缓存中的指定的 key
data Object/String 是 需要存储的内容
success Function 否 接口调用成功的回调函数
fail Function 否 接口调用失败的回调函数
complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
示例
```
```
uni.setStorage({
key: 'storage_key',
data: 'hello',
success: function () {
console.log('success');
}
});
```
## uni.setStorageSync(KEY,DATA)
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
**参数说明**
```
参数 类型 必填 说明
key String 是 本地缓存中的指定的 key
data Object/String 是 需要存储的内容
```
```
try {
uni.setStorageSync('storage_key', 'hello');
} catch (e) {
// error
}
```
## uni.getStorage(OBJECT)
从本地缓存中异步获取指定 key 对应的内容。
**OBJECT 参数说明**
```
参数名 类型 必填 说明
key String 是 本地缓存中的指定的 key
success Function 是 接口调用的回调函数,res = {data: key对应的内容}
fail Function 否 接口调用失败的回调函数
complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
```
**success 返回参数说明**
```
参数 类型 说明
data String key 对应的内容
```
**示例**
```
uni.getStorage({
key: 'storage_key',
success: function (res) {
console.log(res.data);
}
});
```
## uni.getStorageSync(KEY)
从本地缓存中同步获取指定 key 对应的内容。
**参数说明**
`参数 类型 必填 说明
key String 是 本地缓存中的指定的 key`
**示例**
```
try {
const value = uni.getStorageSync('storage_key');
if (value) {
console.log(value);
}
} catch (e) {
// error
}
```
## uni.getStorageInfo(OBJECT)
异步获取当前 storage 的相关信息。
OBJECT 参数说明
```
参数名 类型 必填 说明
success Function 是 接口调用的回调函数,详见返回参数说明
fail Function 否 接口调用失败的回调函数
complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
```
success 返回参数说明
参数 类型 说明
keys String Array 当前 storage 中所有的 key
currentSize Number 当前占用的空间大小, 单位:kb
limitSize Number 限制的空间大小, 单位:kb
**示例**
```
uni.getStorageInfo({
success: function (res) {
console.log(res.keys);
console.log(res.currentSize);
console.log(res.limitSize);
}
});
```
## uni.getStorageInfoSync()**
同步获取当前 storage 的相关信息。
示例
```
try {
const res = uni.getStorageInfoSync();
console.log(res.keys);
console.log(res.currentSize);
console.log(res.limitSize);
} catch (e) {
// error
}
```
## uni.removeStorage(OBJECT)
从本地缓存中异步移除指定 key。
**OBJECT 参数说明**
```
参数名 类型 必填 说明
key String 是 本地缓存中的指定的 key
success Function 是 接口调用的回调函数
fail Function 否 接口调用失败的回调函数
complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
```
**示例**
```
uni.removeStorage({
key: 'storage_key',
success: function (res) {
console.log('success');
}
});
```
## uni.removeStorageSync(KEY)
从本地缓存中同步移除指定 key。
**参数说明**
```
参数名 类型 必填 说明
key String 是 本地缓存中的指定的 key
```
**示例**
```
try {
uni.removeStorageSync('storage_key');
} catch (e) {
// error
}
```
## uni.clearStorage()
清理本地数据缓存。
示例
`uni.clearStorage();`
## uni.clearStorageSync()
同步清空本地数据缓存。
示例
```
try {
uni.clearStorageSync();
} catch (e) {
// error
}
```
';