①在页面的data中有如下数组:
goods:[{id:1,pic:“wxfile://store_2019755926o6zAJs7MyxkARgX5VaU4pLGHp-Sga7668051c72f246bfd5e89402bc6517a.jpg”},
{id:2,pic:“wxfile://store_201975592354fdgshyxkARgX5VfhspLGHp-Sga7668051c72f246bfd5e89402bc65213.jpg”},
{id:3,pic:“wxfile://store_20197559235zAJs7MyxfhaU4pLGsfj-Sga7668051c72f246bfd5e89402bc6512414.jpg”}]
期中的pic的地址缓存在本地了。
②前端循环绑定该地址:
<block wx:for="{{goods}}"
<image src="{{item.pic}}"></image>
</block>
③我现在清除了某条数据,比如把id:1的清除掉。并且同时用setData更新了页面,然后再用wx.removeSavedFile方法移除缓存的本地图片文件。按理说,在缓存文件被移除之前,页面已经被setData方法更新了,也就是页面上该条数据不存在了,应该不会产生问题。但是,不可理解的是会产生如下错误:
Failed to load image http://wxfile.open.weixin.qq.com/store_2019755926o6zAJs7MyxkARgX5VaU4pLGHp-Sga7668051c72f246bfd5e89402bc6517a.jpg : the server responded with a status of 404 (HTTP/1.1 404 Not Found)
From server 127.0.0.1
请各位大侠帮忙分析一下原因,谢谢了!
回复6楼:官方说setData是异步渲染页面的,所以出现问题是有可能的,但不是必然的。你实验的没出问题,可能是因为setData先执行完后再进行的removeSavedFile的移除。但由于setData异步的不确定性,万一setData未完成,就进行了removeSavedFile的移除,这样就会出问题了。