小程序 onlaunch 登录获取信息后再执行onload
时间: 2023-08-22 13:05:18 浏览: 75
您好,关于小程序的onLaunch和onLoad生命周期函数,它们的执行顺序是onLaunch先执行,onLoad后执行。在onLaunch中获取用户信息,您可以使用wx.getUserInfo()方法获取用户信息,然后将其存储到本地缓存中。在onLoad中可以从本地缓存中获取用户信息并进行相应的操作。具体实现代码如下:
```
App({
onLaunch: function () {
// 获取用户信息
wx.getUserInfo({
success: res => {
// 将用户信息存储到本地缓存中
wx.setStorageSync('userInfo', res.userInfo)
}
})
}
})
Page({
onLoad: function () {
// 从本地缓存中获取用户信息
var userInfo = wx.getStorageSync('userInfo')
// 进行相应的操作
}
})
```
这样,在小程序启动时就可以先获取用户信息,然后在页面加载时从本地缓存中获取用户信息并进行相应的操作。
相关问题
小程序 onlaunch 登录账号信息 onload执行时未获取
如果您在小程序的onLaunch生命周期函数中登录账号并获取用户信息,但在onLoad生命周期函数中却无法获取到用户信息,可能是因为onLoad生命周期函数的执行时间比onLaunch生命周期函数晚,导致onLoad无法获取到用户信息。
为了解决这个问题,可以在onLaunch生命周期函数中使用Promise来实现异步请求获取用户信息,并在onLoad生命周期函数中使用Promise的then()方法来处理异步请求的结果。具体实现方法如下:
```
App({
onLaunch: function () {
// 使用Promise进行异步请求获取用户信息
return new Promise((resolve, reject) => {
wx.login({
success: res => {
wx.getUserInfo({
success: userRes => {
// 将获取到的用户信息存储到全局变量中
this.globalData.userInfo = userRes.userInfo
resolve()
},
fail: res => {
reject(res)
}
})
},
fail: res => {
reject(res)
}
})
})
},
globalData: {
userInfo: null
}
})
Page({
onLoad: function () {
// 使用Promise的then()方法处理异步请求的结果
getApp().onLaunch().then(() => {
// 从全局变量中获取用户信息并进行相应的操作
var userInfo = getApp().globalData.userInfo
// 进行相应的操作
}).catch(err => {
console.log(err)
})
}
})
```
在onLaunch生命周期函数中使用Promise进行异步请求获取用户信息,并将获取到的用户信息存储到全局变量中。在onLoad生命周期函数中使用Promise的then()方法处理异步请求的结果,从全局变量中获取用户信息并进行相应的操作。
这样就可以解决在onLaunch中登录账号并获取用户信息,在onLoad中却无法获取到用户信息的问题。
微信小程序onLaunch、onLoad执行生命周期
onLaunch是小程序初始化时执行的生命周期函数,只会在小程序启动时执行一次,它是小程序的入口函数,可以在这里进行一些全局的初始化操作。比如可以获取用户信息、设置全局数据、初始化第三方库等。
而onLoad是在页面加载时执行的生命周期函数,每次打开页面都会执行一次。它通常用于获取页面数据、初始化页面状态等操作。在onLoad中也可以调用其他函数,执行一些异步操作。
相关推荐
![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)
![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)