收藏
回答

关于app.js 中onLaunch执行异步函数执行完再执行页面onLoad的问题?

比如在onLaunch中执行异步登录后,首页或者其他页面需要等到这个登录成功或者失败后才能才能在页面中做具体展示,在首页中这个问题可以解决,在app.js中执行完异步操作后,可以使用this.callback,然后在首页中使用this.callback = res => {}做下一步操作,但是除了首页,其他所有页面作为加载的第一个页面调用this.callback = res => {}这个方法都会报错 _this2.callback is not a function at app.js? [sm]:77。这个问题还挺困扰的,因为除了首页,其他很多页面也会因为分享而会成为小程序加载的首页。

先在这里贴出app.js和index.js的相关代码,希望可以获得帮助。

app.js

App({
    onLaunch() {
        wx.login({
            success:res=>{
                this.callback(res)
            }
        })
    }
})

index.js

Page({
    data: {},
    onLoad(query) {
        app.callback = res => {
            //todo do something
        }
    }
})
回答关注问题邀请回答
收藏

2 个回答

  • 执念
    执念
    2023-08-30

    乌龙,乌龙,是我写错了,其他内页中使用app.callback都可以作为首屏加载时等待app.js中onLaunch异步函数执行完再执行

    2023-08-30
    有用
    回复
  • 启年
    启年
    2023-08-29

    改成下面这样

    2023-08-29
    有用
    回复
登录 后发表内容