wx.setStorage多次调取时,出现丢失数据的情况?
发布于 6 年前 作者 hchen 3842 次浏览 来自 问答
          var serviceId = message.ext.serviceId;
          var chatMsg = wx.getStorageSync(message.from + message.to + serviceId);
          var value = WebIM.parseEmoji(message.data.replace(/\n/mg, ''))
          var time = WebIM.time()
          var msgData = {
            info: {
              from: message.from,
              to: message.to
            },
            username: message.from,
            yourname: message.from,
            msg: {
              type'txt',
              datavalue
            },
            style'',
            timetime,
            mid'txt' + message.id
          }
          chatMsg.push(msgData)
          wx.setStorage({
            key: msgData.yourname + message.to + serviceId,
            data: chatMsg,
            successfunction () {
              console.log('setStorage success')
            }
          })
        }

目的:收到新的消息时,将其保存在缓存当中。

问题:当小程序进程被杀掉重新进入小程序并收到多条消息时,在调取wx.setStorage函数时,会出现调取失败的情况。比如,我收到三条消息,但只调取了两次。

1 回复

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

回到顶部