收藏
回答

setStorageSync首次不生效的问题

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug getStorageSync 微信iOS客户端 Android 6.6.7 1.9.94

使用getUserInfo获取的用户昵称保存到本地缓存,首次使用在新页面无法获取到数据


用户授权登录



新页面

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

2 个回答

  • 2018-06-14

    只有第一次会出现这个问题,用户第二次打开的时候就可以获取到了

    2018-06-14
    有用
    回复 7
    • 🍃
      🍃
      2018-06-14

      你第二次打开的时候是获取第一次缓存的数据,,,那是因为程序是异步加载,你可以看控制台,先加载的是page中的东西,后加载的是app.js,所以在app.js中对数据处理需要用别的方式,使用同步缓存也会出现这个问题.

      我使用的是

      Promise的方式进行处理就没有问题了


      2018-06-14
      回复
    • 2018-06-14回复🍃

      没有在app.js中,两段代码都是在page中,一共两个页面,每次都是先打开第一个页面,获取用户信息并保存到本地缓存,在第二个页面获取缓存

      2018-06-14
      回复
    • 🍃
      🍃
      2018-06-14回复

      那就把data中直接赋值拿到第二个页面onLoad中做下处理,给data赋值,看能否拿到

      2018-06-14
      回复
    • 2018-06-14回复🍃

      已经听从你的建议修改为在onLond中获取缓存再赋值到页面了,只是不知道为什么会出现这个问题

      2018-06-14
      回复
    • 🍃
      🍃
      2018-06-14回复

      现在正常了吗?我记得小程序是有加载顺序的,好像是先onLoad,然后onReady.一般从数据库获取数据基本上都是在onLoad中做处理然后赋值给data中


      2018-06-14
      回复
    查看更多(2)
  • 🍃
    🍃
    2018-06-14

    emmm....应该先加载onLoad里面的内容吧,获取到userInfo然后赋值给data. 我没有这么写过

    2018-06-14
    有用
    回复
登录 后发表内容