收藏
回答

登陆和获取用户信息接口卡死

问题模块
API和组件

我公司在开发小程序过程中发现,在网络不好的情况下,wx.login和wx.getUserInfo这两个接口会出现卡死现象而且不会回调fail函数,即使网络状况变好了也长时间一直卡死了,并没有回调fail或complete函数,也没有重新加载页面,这个怎么解决,wx.login和wx.getUserInfo接口不能设置超时吗??

最后一次编辑于  2017-08-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • 廉
    2017-08-07

    app.json 里面的networkTimeout   在开发文档配置里面有说明

    wx.request 可以返回一个requestTask对象,然后调用abort()可以中断请求,在开发文档wx.request的里面下面部分,注意看文档啊同学,requestTask.abort()这个要基础库1.4以上的


    2017-08-07
    赞同
    回复
  • 😏🤙🏻😐💪🏻😉
    😏🤙🏻😐💪🏻😉
    2017-08-08

    1楼的先请问您是开发者还是官方的客服,如果是开发者您是好意帮忙我表示感谢不说什么了,如果是官方的客服我只能呵呵了!

    我拜托您先看清楚我的问题好吗,您让我注意看文档,自己却根本没仔细看我的问题

    我问的是wx.login和wx.getUserInfo这两个接口,不是wx.request,不是wx.request,不是wx.request!!!

    这回够清楚了吗??

    现在请您告诉我wx.login和wx.getUserInfo这两个接口开发文档里哪里有说明设置超时的???

    2017-08-08
    赞同
    回复
  • 廉
    2017-08-08

    骚年 你成功的引起了我的注意.额,好吧  我确实没有看清楚题目,我已经瞎了.那作为瞎子的我刚刚做了一下测试,发现 确实我之前说的两个设置对wx.login和wx.getUserInfo 没有效果.


    我在手机上关了网络对wx.login接口测了好几次, 回调函数都有调到,然后就是时间基本都在16到17S之间.

    然后什么也有发生可能是因为小程序只是回到后台了,并没有关闭.所以再次进入的时候并没有调用接口,

    我刚刚测试的时候有遇到过,然后杀了进程再进就又可以了.  额 就这么多了  不知道有没有用

    2017-08-08
    赞同
    回复
  • 😏🤙🏻😐💪🏻😉
    😏🤙🏻😐💪🏻😉
    2017-08-08

    我们的问题跟您测试的差不多又稍有不同,我也试过完全关了网络的情况,就是您所测试的那样,没问题。

    但我们的情况是“网络不好”,和完全关了网络是不一样的效果,会卡死在那里不会调用任何回调函数,不信您可以试试,当然模拟“网络不好”的情况不太容易,除非您的网络像我们公司一样的烂:)


    由于没调用任何回掉函数,我们暂时没办法处理卡死这种情况,然后就是小程序只回到了后台没有真正关闭,用户要手动杀了进程然后再进入才能重新加载,体验很不好


    后来我们想到了onShow,但是发现onShow不能传参数,而我们的业务需求必须要求传参数,因此放弃了onShow


    我提这个问题是希望官方的人能关注一下,这个问题有可能是微信小程序底层网络通信逻辑造成的,如果能优化了最好,不行我们就自己从产品角度想办法了


    不管怎样,非常感谢您的好意,谢谢

    2017-08-08
    赞同
    回复
  • 廉
    2017-08-08

    微信不给超时设置,自己弄一个setinterval或者settimeout怎么样,网络问题确实也没什么更好的解决办法.

    2017-08-08
    赞同
    回复