收藏
回答

小程序A拉起小程序B,B小程序返回A小程序时带的数据,被覆盖了。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.navigateBackMiniProgram 客户端 7.0.4 2.7.3


- 预期表现

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 个回答

登录 后发表内容