需求:从接口获取数据后,将数据拼接进缓存,实现缓存更新.
然后遇到了下面的问题。。。
// 获取缓存数据,若无缓存则为空数组
var storageData = wx.getStorageSync('data') || [];
console.log(storageData, storageData.push(obj) );
// 将新获取的数据 obj 放入数组arr,并重新存入缓存
var arr = storageData.push(obj);
console.log(arr,obj);
//存入缓存
wx.setStorageSync('data', arr);
通过源代码可知,打印 storageData
是没问题的,obj
正常的push进去了,可 storageData.push(obj)
打印出来却是1
这让我百思不得其解。。。于是我看了眼菜鸟教程关于`push`的解释
好吧破案了,push改变原数组。。。直接拿原数组用就好了,不要拿push
后的返回值