收藏
回答

ios下wx.onHide无法触发promise

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug wx.onHide 客户端 7.0.3 2.6.6


- 当前 Bug 的表现(可附上截图)

onHide的时候,无法通过promise或者setTimeout做异步操作,所有异步操作只能在下次onShow才能执行,直接使用wx.request是没问题的

- 预期表现

onHide的时候,promise的回调不应该完全停止了,目前测试安卓没有问题,只有ios有问题

- 复现路径


- 提供一个最简复现 Demo

wx.onShow((res) => {

console.log('应用onShow触发')

Promise.resolve().then(() => {

console.log('应用onShow Promise',res);

})

setTimeout(() => {

console.log('应用onShow ',res);

})

})

wx.onHide((res) => {

console.log('应用onHide触发')

Promise.resolve().then(() => {

console.log('应用onHide  Promise',res);

})

setTimeout(() => {

console.log('应用onHide',res);

})

})


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

2 个回答

  • 殷
    2019-07-03

    不是安卓没问题,是因为部分安卓就没有把小游戏的activity切到后台。在后台情况下,JS都是不会执行的,别说什么setTimeout, promise了

    2019-07-03
    有用
    回复 1
    • derrick
      derrick
      2019-07-04

      所以是本身机制的问题吧,微信小程序是可以执行wx.reqest的,而qq小程序甚至wx.reqeust这样原生方法都没法执行

      2019-07-04
      回复
  • derrick
    derrick
    2019-04-19

    @娇华

    2019-04-19
    有用
    回复
登录 后发表内容