APP.JS中实现登录逻辑跳转页面的异步问题 求解!!!
发布于 6 年前 作者 tianchao 4972 次浏览 来自 问答

最近项目基本做完,配置了https在真机测试,进来就发现一个BUG。由于之前我是在app.js的onLaunch中实现的登录逻辑:发请求判断用户是否注册过账号,如果是新用户会wx.redirectTo到注册页面,如果是老用户则返回用户信息到全局变量。然后在真机测试时发现新用户扫码进小程序后会先进home首页过两秒才跳转到注册页面,最后发现是app.js里执行request导致异步request没执行完先加载了首页。。。 紧急紧急  求大佬解救!!!!!!!!!!!!!!!!!!!!!!!!

5 回复

楼主有解决方案了吗

楼主找到处理方法了没有,调用了relaunch可以实现,但是有跳动感。。。

不放在app.js里判断呗,放个首页,在首页里判断,然后判断了要不要去新页面。如果嫌弃页面跳转体验不好,可以在首页做隐藏、显示。

// 获取用户信息
wx.getSetting({
  success: res => {
    if (res.authSetting['scope.userInfo']) {
      // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
      wx.getUserInfo({
        success: res => {
          that.getUserDataToken();
        }
      })
    }else{
      console.log('hoquq yoq');
      setTimeout(function(){
        console.log('set time out');
 
        wx.redirectTo({
          url: '/pages/login/login',
        })
      },1000)
       
    }
  }
})

用setTimeout来解决。

在线等。。。有没有同样问题的同学。。。@~@

回到顶部