收藏
回答

wx.setStorage执行顺序问题

问题模块
API和组件




求助,代码如上,wx.getStorage和wx.setStorage在代码中的执行顺序到底是怎样的?监控缓存时,能看到storageArray中先是出现了数据之后再清空的,即先是执行了蓝色框中的push,再执行了红色框的清空数组,这是为什么?


下面是第二个例子:

根据log来看怎么有时候wx.setStorage在storageArray.push()这句执行之后才执行,有时候又是之前?Log如下:


再比如,

for(var i=0;i<10;i++)

{

   wx.getStorage({

       key:‘storageKey’+toString(i)

       success:function(res){

           console.log(res.data)

       }

})

这样最后会打出10个key为storageKey9的缓存的data呢?


谢谢。

最后一次编辑于  2017-09-09
回答关注问题邀请回答
收藏

1 个回答

  • 李安稳
    李安稳
    2017-09-09

    wx.setStorage(OBJECT)

    将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。

    wx.getStorage(OBJECT)

    从本地缓存中异步获取指定 key 对应的内容。


    异步的意思你应该清楚吧,要达到你要求的按代码书写顺序执行的效果请使用

    wx.setStorageSync(KEY,DATA)

    将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。

    wx.getStorageSync(KEY)

    从本地缓存中同步获取指定 key 对应的内容。


    2017-09-09
    赞同
    回复