收藏
回答

微信小程序数据缓存,为什么要设计同步和异步模式?

我想知道wx.setStorageSync()和wx.setStorage()的内部细节,很好奇数据是缓存在本机,为什么要设计同步和异步模式。 猜想:我们的本机缓存是否在微信服务器上也保存了一份,所有要实现同步和异步模式?

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

4 个回答

  • 不多不少
    不多不少
    2019-11-13

    异步存防止阻塞

    同步取是因为用户登录要本地数据和用户登录账户密码相同要用同步取,如果异步取的话就会发生用户登录的账号密码和本地数据不一致但是还是能登录进去。


    2019-11-13
    赞同 1
    回复
  • 张安金
    张安金
    2019-08-14

    个人理解:有于小程序运行环境的问题,即单线程工作模式,所以如果不是下一步必须使用的数据都建议使用异步的方式。同步的意思是这个必须执行完才能才是下一步,异步是两个动作同时进行。看业务设计需要。

    2019-08-14
    赞同 1
    回复 1
    • 王成
      王成
      2019-08-14
      嗯嗯,我觉得你说的很有道理。我现在考虑的问题是,小程序现在PC端内测中,微信是否很早就考虑到要将移动端、PC端缓存同步,所有我猜想可能在微信服务器上也保存了一份缓存。
      2019-08-14
      回复
  • 香蕉不是笨啦啦
    香蕉不是笨啦啦
    2019-08-14

    666,你不知道nodejs读写文件都是异步的吗,非异步是阻塞的,人家设计两种模式只是为了适应不同场景需求而已,结果被恶意揣测

    2019-08-14
    赞同 1
    回复 2
    • 未命名科技
      未命名科技
      2019-08-14
      这个揣测真的是缺乏逻辑而且非常之尴尬了。
      2019-08-14
      1
      回复
    • 王成
      王成
      2019-08-14
      你好! 我确实才疏学浅,但是绝无恶意,只是单纯的技术探讨。请你不要以己度人。
      2019-08-14
      1
      回复
  • waterfall
    waterfall
    2019-08-14

    基本get都用的同步,set都用的异步

    2019-08-14
    赞同
    回复 1
    • 王成
      王成
      2019-08-14
      嗯嗯,我大致也是这样使用的。但是我目前再做的一个项目,用户量还算比较多,而且涉及在线支付,所有我必须把一些技术细节搞清楚,避免程序出现bug。
      2019-08-14
      回复
登录 后发表内容
问题标签