收藏
回答

app.js里onHide监听里的代码没有执行

https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html

想要在小程序退出的时候调个接口,手机真机调试的时候是正常执行了,但直接用手机运行的话,退出就没有执行onHide里的代码,再进入小程序又执行了。求解?

回答关注问题邀请回答
收藏

4 个回答

  • 工号 019743
    工号 019743
    2020-10-28

    你是怎么知道 onHide 的代码没有执行的

    2020-10-28
    有用
    回复 3
    • 🌸灰姑娘
      🌸灰姑娘
      2020-10-28
      接口没调成功。加的提示信息也没提示,再次进入才提示
      2020-10-28
      回复
    • 🌸灰姑娘
      🌸灰姑娘
      2020-10-28
      请问有什么办法可以实现我的需求吗?
      小程序点击右上角按钮退出时,做相应的操作
      2020-10-28
      回复
    • 工号 019743
      工号 019743
      2020-10-29回复🌸灰姑娘
      你加啥提示?直接在 onHide 里边 console.log(Date.now()) 看看log 出来的时间是不是你退出的时间不就证明了么
      2020-10-29
      回复
  • 少侠
    少侠
    2020-10-28

    onHide是小程序切后台,你是怎么退出的?

    2020-10-28
    有用 1
    回复 11
    • 🌸灰姑娘
      🌸灰姑娘
      2020-10-28
      点击右上角那个胶囊按钮
      2020-10-28
      回复
    • 少侠
      少侠
      2020-10-28回复🌸灰姑娘
      手机抓个包,在切出去的时候看看你哪个请求发出去没有。
      2020-10-28
      1
      回复
    • 🌸灰姑娘
      🌸灰姑娘
      2020-10-28
      没有发成功,没有监听到退出事件,有解决的办法吗?
      2020-10-28
      回复
    • 少侠
      少侠
      2020-10-28回复🌸灰姑娘
      你这个请求试过在,比方说在点击事件上能正常出去吗
      2020-10-28
      1
      回复
    • 少侠
      少侠
      2020-10-28
      onHide里你去掉你发请求的代码,只打印个console.log看看
      2020-10-28
      1
      回复
    查看更多(6)
  • 胡广宇
    胡广宇
    06-15

    貌似应该是小程序的Bug,开发工具,真机调试,以及安卓真机运行,这个app.js中的onHide都会被执行。而iOS则会忽略掉,如果关闭打开间隔比较短,那么会在下次onLaunch时执行。

    花了点时间研究了一下,其实也不算是bug吧,应该是iOS的处理速度比较快,导致某些指令还没有执行完就继续下一步指令的,特别是异步的。用setInterval/setTimeout做个延时就可以正常处理了。

    06-15
    有用
    回复
  • this
    this
    2020-10-28

    好像之前我也遇到过这个问题,你试下在onUnload里面执行看看

    2020-10-28
    有用
    回复
登录 后发表内容
问题标签