wx.setStorage执行顺序问题
发布于 7 年前 作者 huangtao 6555 次浏览 来自 问答

求助,代码如上,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呢?

谢谢。

1 回复

wx.setStorage(OBJECT)

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

wx.getStorage(OBJECT)

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


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

wx.setStorageSync(KEY,DATA)

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

wx.getStorageSync(KEY)

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


回到顶部