app.globaldata
时间: 2024-05-17 11:16:19 浏览: 12
app.globalData 是一个在开发小程序时常用的全局变量对象。它是一个可以在小程序的所有页面和组件中共享数据的对象。通过设置和访问 app.globalData,我们可以在不同页面之间共享数据,使得数据的传递和使用更加方便。在小程序的启动文件 app.js 中,我们可以定义和初始化 app.globalData 对象,然后在其他页面中通过 getApp().globalData 来访问和使用其中的数据。
相关问题
微信小程序中app.globalData和setStorageSync有什么区别,在小程序重启后app.globalData和setStorageSync那个还能存在
微信小程序中,app.globalData和setStorageSync都是用来存储数据的,但是它们有着不同的作用和使用方法。
首先,app.globalData是小程序的全局变量,可以在小程序的任何一个页面中访问和修改。它适用于存储小程序中全局的数据,比如用户信息、设置等。在小程序重启后,由于app.globalData是小程序的全局变量,因此它的值会被重置为初始值,需要重新赋值才能使用。
而setStorageSync是小程序中的同步本地缓存API,用于存储一些临时性的、不需要全局访问的数据。它的作用是将数据存储到本地缓存中,可以在小程序的当前页面或者其他页面中访问和修改。在小程序重启后,setStorageSync存储的数据仍然会存在于本地缓存中,可以通过getStorageSync方法获取到,因此它比app.globalData更适合存储一些需要持久化的数据。
因此,如果需要存储全局的数据,可以使用app.globalData;如果需要存储临时性的、需要持久化的数据,可以使用setStorageSync。但是需要注意的是,对于一些敏感数据,如用户的登录凭证等,建议使用小程序的登录态来进行管理,而不是直接存储在本地缓存中。
async function getToday() { console.log('获取服务器时间') if (app.globalData.servertime) { return app.globalData.servertime; } else { let res = await wx.cloud.callFunction({name: 'getServerTime'}); app.globalData.servertime = res.result; return app.globalData.servertime; } }怎么给这个函数增加失效时间,超过10分钟后就会重新从服务器获取时间
你可以通过在函数中保存上一次获取时间的时间戳,然后在下一次获取时间时与当前时间戳比较,如果超过了设定的失效时间,就重新从服务器获取。具体实现可以参考下面的代码:
```
async function getToday() {
console.log('获取服务器时间');
const now = Date.now();
const cacheTime = app.globalData.servertimeTime || 0;
const cacheData = app.globalData.servertime || null;
if (cacheData && now - cacheTime < 10 * 60 * 1000) {
// 数据未过期,直接返回缓存数据
return cacheData;
} else {
// 数据已过期或首次获取,重新从服务器获取数据
const res = await wx.cloud.callFunction({name: 'getServerTime'});
app.globalData.servertime = res.result;
app.globalData.servertimeTime = now;
return app.globalData.servertime;
}
}
```
在上面的代码中,我们首先获取当前时间戳 `now`,然后获取缓存的时间戳 `cacheTime` 和缓存的数据 `cacheData`。如果缓存数据未过期,则直接返回缓存数据;否则,重新从服务器获取数据,并更新缓存时间戳和缓存数据。其中,失效时间设为 10 分钟,即 10 * 60 * 1000 毫秒。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)