收藏
回答

能不能直接在data里直接取缓存和小程序里promise不支持finally()

两个问题:

  1. 直接在data里写

  2.     {a:wx.getStorageSync(`a`)}

    有时候会取不到值,要重新编译则无问题

    或者在onShow里setData({a:wx.getStorageSync(`a`)})也无问题


    直接在data里取缓存则无效

    在onShow里setData则可获取到


    我想问一下是不能在data里直接取缓存吗?


    2.小程序里是不是不支持Promise的finally方法

    不跟finally()无事,跟上则报错

    贴个报错吧:




最后一次编辑于  2018-06-27  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 饭人
    饭人
    2018-06-27
    1. wx.getStorageSync是异步获取(虽然微信叫sync但是意思是 你可以写同步语法异步获取数据),类似于async await的方法,而data取值是初始化的时候同步执行(类比vue中的data return),你可以在 computed计算属性中去对当前页面结合async await进行异步赋值(我没试过),但是 在生命中期中对data进行覆盖是可以的。(你可以理解为反正执行了,总会在未来的某个程序时间点修改data成功)


    2. promise的finally方法 是es2018的标准方法,微信的使用的webkit内核版本可能有点老不支持,你可以自己polyfill一下。




    2018-06-27
    赞同
    回复 1
    • morganfly
      morganfly
      2018-06-27

      谢谢,说得很清楚

      2018-06-27
      回复