uni.getstoragesync返回的值是object
时间: 2024-03-21 20:38:20 浏览: 284
`uni.getStorageSync()` 返回的值类型取决于存储在本地缓存中的数据类型。如果存储的是字符串、数字、布尔值等基本类型数据,则返回对应的类型;如果存储的是对象、数组等复杂类型数据,则返回一个 JavaScript 对象。
无论是基本类型还是复杂类型,`uni.getStorageSync()` 返回的都是一个 JavaScript 对象。如果获取的是基本类型数据,该对象包含一个简单类型值;如果获取的是复杂类型数据,则该对象包含一个 JSON 格式的字符串,可以通过 JSON.parse() 方法将其转换为 JavaScript 对象。
例如,如果本地缓存中存储的是一个对象:
```
let user = {name: "Tom", age: 18};
uni.setStorageSync("user", user);
```
则可以通过 `uni.getStorageSync()` 方法获取该对象:
```
let userObj = uni.getStorageSync("user");
console.log(userObj); // 输出:{name: "Tom", age: 18}
console.log(userObj.name); // 输出:Tom
```
需要注意的是,如果获取的键名不存在,则 `uni.getStorageSync()` 返回 null。因此,在使用该方法前,需要确保该键名在本地缓存中存在。
相关问题
uni.setStorageSync和uni.getStorageSync区别
uni.setStorageSync和uni.getStorageSync都是uni-app中用于本地存储的API,它们的区别在于:
- uni.setStorageSync用于将数据存储到本地缓存中,可以通过key-value的形式进行存储,其中key为字符串类型,value可以是任意类型的数据。该方法是同步的,即在数据存储完成之前会一直阻塞线程。
- uni.getStorageSync用于从本地缓存中获取数据,需要传入一个key值,返回对应的value值。如果该key不存在,则返回null。该方法也是同步的。
uni.getStorage与uni.getStorageSync的差别
引用中提到的代码使用的是uni.getStorage方法来获取存储在storage中的userName数据,并将其赋值给this.userName。而引用中提到的解决办法是使用箭头函数来避免this指向的问题。通过箭头函数的使用,可以确保this指向的是外部作用域的this,而不是内部函数的this。所以,修改后的代码可以正确地将res.data赋值给this.userName。引用中的代码也是类似的情况,使用箭头函数来确保this指向的正确性。
uni.getStorage与uni.getStorageSync的差别在于它们的返回方式不同。uni.getStorage是一个异步方法,它会在获取到数据后通过回调函数的方式返回数据。而uni.getStorageSync是一个同步方法,它会立即返回数据。所以,在使用uni.getStorage时,我们需要通过回调函数来获取数据,而在使用uni.getStorageSync时,我们可以直接获取返回的数据而不需要回调函数。
总结起来,uni.getStorage是异步获取存储数据的方法,而uni.getStorageSync是同步获取存储数据的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [uniapp uni.getstorage获取的值无法绑定到data的数据](https://blog.csdn.net/weixin_61945023/article/details/129820882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [【uni-app】在组件mounted中使用uni.getStorage,成功的回调中设置data中的数据不成功,也不报错](https://blog.csdn.net/Sonnenlicht77/article/details/130871708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文