在项目中 写到for循环结束之后再去调用一个函数 我用的是vue 记录一下
//这里是循环得到一些数据之后再进行函数调用
const _arr=[]
const that=this
that.imageStrs = ''
that.imageidtempArr = []
var arr=[]
console.log(this.imgList.length)
this.imgList.forEach(item=>{
_arr.push(new Promise((resolve,reject)=>{
uni.uploadFile({
url: baseURL+'/patrolReport/uploadImage',
filePath: item,
name: 'image',
success: (uploadFileRes) => {
that.imageidtemp = JSON.parse(uploadFileRes.data).result.imageid
that.imageidtempArr.push(this.imageidtemp)
// arr.push(this.imageidtemp)
arr=that.imageidtemp
resolve(arr)
}
});
}))
})
Promise.all(_arr).then((res)=>{
console.log(res);
console.log('res',res.join(","));
this.addQusetion(res.join(","),this.questiontype,this.content,this.address)
}).catch(err=>{
console.log(err);
})
//这个是需要调用的函数
addQusetion(imageid,questiontype, content, address) {
this.$http({
url: '/patrolReport/addQusetion',
data: {
questiontype: questiontype,
content: content,
address: address,
imageids: imageid
},
}).then(r => {
var that=this
if(r.data.code == 200){
// let tid = r.data.result.tid
// let tablename = r.data.result.tablename
// 遍历上传图片
//let arr = ''
return uni.showModal({
title: '提示信息',
content: '上报成功!',
success: function (res) {
if (res.confirm) {
// console.log('用户点击确定');
} else if (res.cancel) {
// console.log('用户点击取消');
}
that.questiontype = ''
that.content= ''
that.address= ''
}
});
}else{
return uni.showModal({
title: '提示信息',
content: '上报失败,请重试!',
success: function (res) {
if (res.confirm) {
// console.log('用户点击确定');
} else if (res.cancel) {
// console.log('用户点击取消');
}
that.questiontype = ''
that.content= ''
that.address= ''
}
});
}
})
// if(this.imageidtempArr>0){
// str.substring(0,this.imageidtempArr.length-1)
// }
},