一、setStorageSync与setStorage的区别
都可以将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容。
setStorageSync:同步接口,需要等待同步方法完成才可执行下一步,也就是需要等待当前任务完成才可以执行下一个任务。
setStorage:异步接口,不会发生任务阻塞,当对storage数据进行修改时,无需等待修改保存完成也可以接下去执行
所以,如果后续的操作需要使用更新storage后保存的data,则使用setStorageSync
使用异步性能更好,使用同步数据更安全
二、使用setStorageSync存储历史搜索记录
// 本地缓存 搜索历史
setSearchStorage(searchkey) {
// 存一个数组类型
// 先取出本地缓存的数据
let searchArr=uni.getStorageSync('search_key')||[]
// 从前面插入
searchArr.unshift(searchkey)
uni.setStorageSync('search_key',searchArr)
},
// 取出本地缓存数据并显示,不会自动执行,放到生命周期函数中
getSearchStorage() {
let getData = uni.getStorageSync('search_key')
// 数组去重
let setData = [...new Set(getData)]
this.historyData = setData
}
// 生命周期函数
created() {
this.getSearchStorage()
// log(this.historyData)
}
如有不足,欢迎各位小伙伴指点讨论~