小程序A拉起小程序B,B小程序返回A小程序时带的数据,被覆盖了。
发布于 5 年前 作者 cxiao 14660 次浏览 来自 官方Issues
  • 预期表现

2人以上 同时打开小程序A,小程序A拉起小程序B之后, 小程序B里面完成业务逻辑后,调用wx.navigateBackMiniProgram把tempData数据返回小程序A的时候,必现(发现后者的数据会覆盖掉前者的数据), 必现的操作流程是: 多个用户(如U1,U2,U3)同时使用小程序A拉起小程序B,在小程序B完成所有业务的时间都差不多相同(1~2秒的时间误差),这个时候从小程序B返回到小程序A的时候,返回的数据tempData(tempData为用户昵称),三个用户U1,U2,U3 看到的都是U3的昵称,U3是最后看到小程序B退出界面回到小程序A的,所以推测是U3的数据覆盖了U2,U1的。


如果多个用户不是同时操作的,就正常返回各种的昵称。 所以推测是wx.navigateBackMiniProgram 返回数据的更新机制有缓冲期bug;

并发拉起小程序,并使用了wx.navigateBackMiniProgram返回数据,就是出现这个bug.  

  • 复现路径

  • 提供一个最简复现 Demo

wx.navigateBackMiniProgram({

        extraData: {

          tempData: tempData

        },

        success(res) {

          // 返回成功

        }

      })


希望官方尽快修复这个bug

1 回复

麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

回到顶部