我要实现点击<view> 获取 id(获取id 是没问题的),然后根据id 从云数据库查询相关数据,再按照查出来的数据来删除运存里的文件,代码是这样写的:
data: {
allInfo: [],
isFirst: true,
xart: "",
id: "",
fileId: []
},
getyunFilesId: function () {
let that = this;
console.log(that.data.id)
var deleteInfo=[]
const db = wx.cloud.database()
db.collection('asarlar').where({
_id:that.data.id
}).get().then(res => {
deleteInfo=res.data;
this.setData({fileId:deleteInfo[0].asarPic})
console.log("获取云存储地址")
console.log(that.data.fileId)
})
//-------------------------------------
wx.cloud.deleteFile({
fileList:that.data.fileId, //云文件 ID
success: res => {
console.log("删除云存储文件")
console.log(res.fileList)
},
fail: console.error
})
},
运行结果是这样:
112557505f82927c001378da3d710800
删除云存储文件
[]nv_length: (...)length: 0__proto__: Array(0)
获取云存储地址
{0: "cloud://ibrave-hbzlb.6962-ibrave-hbzlb-1300060674/410734.2069152933.jpg"}
问题: 我先写的获取id 的代码,然后写的删除云存储文件的代码,为什么运行的时候,先执行删除云存储文件,在执行云数据库查询呢? 请高手帮忙?
因为异步问题,用async await 同步执行