大佬们,请教一个问题。如果我需要通过后台接口获取到一个信息,想把这个值存储在app.globalData中,在后续的Page和Component中注入到data中去,目前有一个问题,如果我想实现同步的方式实现获取到数据后再注入,能否同步App的 onLaunch.
onLaunch:async function(){
xxxx
let info=await someThings()
}
请问大佬们,这样搞会出现什么预期之外的问题嘛?
或者Page的 onLoad async化
onLoad:async function(){}
谢邀。
不评论你的方案的好坏,介绍一下我们的做法:
以openid为例,假如从后台获得openid,想保存在globalData里,以供每个页面调用:
在app.js里:
getOpenid:async function(){
if(this.globalData.openid) return this.globalData.openid
else {从后台获取openid(await同步操作),保存在this.globalData.openid里,并返回本函数}
}
在每个page.js里:
onLoad:async function(){
let openid = await app.getOpenid()
}