先说结论,是服务器延迟问题
原代码如下,deletePanoramaImage(id)函数是删除某张图片函数,getAllPanImages(id)函数是获取该项目所有图片函数
function deleteImg(id) {
console.log('要删除的图片id是', id)
deletePanoramaImage(id);
getAllPanImages(id)
}
如果按原代码执行的话,即使发送请求要求删除该图片,由于请求函数离的很近,执行的很快,所以还没来得及等到服务器删除该图片,请求函数就向后端请求到了删除前的数据,所以很容易造成一个错觉
“该图片没被删除”
但实际上只要过一秒左右再次用请求函数发送请求就会发现,图片已经被删除了(刷新后端数据也可以发现)
所以个人改动代码为,添加一个定时器,一秒后再发送获取请求
function deleteImg(id) {
console.log('传入的id是', id)
console.log('列表值是', imgList.value)
deletePanoramaImage(id);
setTimeout(() => {
getAllPanImages()
}, 1000);
}