收藏
回答

wx.onNetworkStatusChange 触发BUG

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.onNetworkStatusChange 客户端 最新 最新

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





1、简单的封装了一下api




2、在app.wpy中调用


会出现第一个console 证明事件触发,但是再切换网络后,第二个console没有触发,也就是回调没有成功,而后连续切换,也不会触发,再切换微信前后台,会连续console,证明触发时机不正确,需要前后台切换。


- 预期表现


不需要前后台切换,全局监听;


- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  03-04
回答关注问题邀请回答
收藏

3 个回答

  • ShinBlueCat
    ShinBlueCat
    03-04

    这里也是微信接收的系统回调抛给小程序的,目前可能比较难保证即时性

    03-04
    赞同
    回复 2
    • 许亮
      许亮
      03-05

      但是我们的IOS同学这里写了个demo  同样机型 完全没有问题,切换到wifi时候的回调 几乎是秒回 两者完全不是一个级别的;

      因为我们的小程序比较依赖这个功能,所以做了很全方面的测试,得出结论 完全是小程序的回调有问题,希望你们可以测试一下,尽量不要以‘认为’的形式来解决bug

      03-05
      回复
    • 许亮
      许亮
      03-05回复许亮

      而且 微信客户端 在有网无网切换的时候 速度也很快 状态栏可以很及时的刷新 目前这个问题 可以很直观的锁定 就是小程序这里封装的问题 请及时处理 谢谢;

      03-05
      回复
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    03-04

    提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    03-04
    赞同
    回复 2
    • 许亮
      许亮
      03-04

      iphoneX;

      iOS 12.1.4;

      7.0.3;

      2.6.2 [231];


      wx.onNetworkStatusChange(function (res) {  console.log(res.isConnected)  console.log(res.networkType)
      })


      运行在初始化钩子里就行,问题很明显,监听迟缓,手动切换前后台会立即触发更新;


      03-04
      回复
    • 许亮
      许亮
      03-04

      测出具体现象:

      1、由wifi切换到4g 回调很快;

      2、由4g切换到WiFi,在手机已经显示wifi连接成功的情况下,需要二十多秒才会有回调;


      希望及时优化,谢谢。

      03-04
      回复
  • 许亮
    许亮
    03-04

    wx.onWifiConnected

    也有同样问题;


    iPhone X;真机;

    03-04
    赞同
    回复