如何取出uni.getStorageSync 的对象
时间: 2023-12-10 17:38:49 浏览: 215
要取出 `uni.getStorageSync` 存储的对象,可以直接使用该方法获取存储的数据。`uni.getStorageSync` 方法接受一个参数,即要获取的数据的键名,它会返回存储的数据。
下面是一个示例代码,演示如何使用 `uni.getStorageSync` 方法取出存储的对象:
```javascript
// 从本地存储中获取数据
const userinfo = uni.getStorageSync('userinfo');
console.log(userinfo);
```
在上述示例中,我们使用 `uni.getStorageSync` 方法从本地存储中获取之前存储的数据,并将其赋值给变量 `userinfo`。然后,我们使用 `console.log` 打印 `userinfo` 变量的值,即存储的对象。
需要注意的是,如果之前使用 `uni.setStorageSync` 存储的数据不存在或已过期,`uni.getStorageSync` 方法会返回 undefined。
希望这个解答对你有所帮助!如果你还有其他问题,请随时提问。
相关问题
优化这段代码 async onLoad() { let dataType = uni.getStorageSync("dataType"); let wm_id = uni.getStorageSync("id"); if (dataType == 2) { const { data, code } = await $daskDetail({ wm_id }); if (code == 200) { const res = await $startData({ wl_id: data.count.wl_id }); if (res.code == 200) { this.status = 2; let endTools = JSON.parse(uni.getStorageSync("tools")); } } } },
可以尝试以下优化:
1. 使用 Promise.all() 并行请求数据。
2. 使用 try-catch 捕获异步请求的错误。
3. 使用解构赋值提取需要的数据。
4. 缓存请求结果,避免重复请求。
优化后的代码如下:
```
async onLoad() {
try {
const [dataType, wm_id] = await Promise.all([
uni.getStorageSync("dataType"),
uni.getStorageSync("id")
]);
if (dataType == 2) {
const { data } = await $daskDetail({ wm_id });
const { code } = await $startData({ wl_id: data.count.wl_id });
if (code == 200) {
this.status = 2;
const endTools = JSON.parse(uni.getStorageSync("tools"));
// 缓存请求结果
uni.setStorageSync("endTools", endTools);
}
}
} catch (error) {
console.error(error);
}
},
```
uni.getStorageSync()
uni.getStorageSync() 是 uni-app 框架提供的一个同步获取本地缓存数据的方法。它可以用于获取通过 uni.setStorageSync() 存储在本地缓存中的数据。使用时需要传入一个参数 key,表示要获取的数据的键名。如果本地缓存中不存在该键名对应的数据,则返回空字符串。该方法的返回值为获取到的数据。需要注意的是,该方法是同步方法,因此在调用时会阻塞其他代码的执行,直到获取到数据才会继续执行后续代码。
阅读全文