微信小程序未登录和登录后的接口调用问题,老是遇到这类问题,请问大家一般如何处理比较合适?

作者站长头像
站长
· 阅读数 18

微信小程序老是遇到这类问题,请问大家一般如何处理比较合适?

wx.getStorage({
        key: 'session_key',
        success: function success(res) {},
        fail: function fail() {
          _util2.default.login();
          console.log('走了这里登录')
          setTimeout(function(){
            _that_login.getDataList()
            _that_login.price_rank_view()
          },1000)
          
        }
      });

我有一个页面,在onload 生命周期中 ,有个判断用户是否登录的,如果未登录的话,就会调用_util2.default.login(); 这个登录方法,登录成功后, 再调用_that_login.getDataList()_that_login.price_rank_view()这两个接口,但是有个问题就是,因为登录接口是异步,我要怎么做,才能确保登录成功后,再调上面两个接口,我是写了一个定时器,倒是可以了,但是这种感觉还是不太靠谱

回复
1个回答
avatar
test
2024-06-24
//  login如果是 promise下面直接then 。如果不是 promise 那就构建成 promise
login(){
  return new Promise((resolve) => {
    // 登录逻辑
    resolve(data)
  })
}
_util2.default.login().then(() => {
  _that_login.getDataList()
  that_login.price_rank_view()
})
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容