uni.getStorageSync('userInfo') 怎么实时获取
时间: 2024-10-31 17:08:21 浏览: 72
`uni.getStorageSync('userInfo')` 是 UniApp 提供的一种本地存储方法,用于从缓存中读取已存储的数据,它返回的是一个异步操作。如果你想要实时获取用户信息,并希望在数据变化时能够获取到最新的值,你应该监听本地存储的变化通知。
以下是一个简单的示例,展示了如何使用`uni.plus.storage.onUpdate`来实现实时监听:
```javascript
// 首先,你需要检查用户信息是否已经存在
const userInfo = uni.getStorageSync('userInfo');
if (!userInfo) {
// 如果不存在,直接获取并处理
uni.getUserInfo((res) => {
uni.setStorageSync('userInfo', res);
handleUserInfo(res); // 处理新获取的信息
});
} else {
// 如果存在,就监听存储更新
uni.plus.storage.onUpdate('userInfo', async () => {
const updatedUserInfo = await uni.getStorageSync('userInfo');
handleUserInfo(updatedUserInfo); // 更新后的新数据将触发此回调
});
// 在这里处理初始获取的用户信息
handleUserInfo(userInfo);
}
function handleUserInfo(userInfo) {
// 根据最新用户信息进行后续操作
console.log('Received updated user info:', userInfo);
}
```
在这个例子中,`handleUserInfo`函数会在每次用户信息更新时被调用,提供最新的`userInfo`数据。
阅读全文