微信多图上传代码,有时候返回空对象?
微信小程序一次只能上传一张图片。
有需求需要上传多张了,我写了个代码,图片虽然能全部上传到后台,但是返回结果有时候是1或者没有,还有时候是完整的。
export function uploadFiles(url, filePathArr, result = {}){
filePathArr.forEach(function(i,index){
uploadFileSync(url,i).then(res=>{
result.success.push(res)
}).catch(err=>{
result.fail.push(err)
})
})
return result
}
// 单个图片上传方法
function uploadFileSync(url, filePath, fromData = {}) {
return new Promise((resolve, reject) => {
uni.uploadFile({
url: url, //仅为示例,非真实的接口地址
filePath: filePath,
name: 'imglist',
fileType: 'image',
success(res) {
resolve(res)
},
fail: function(err) {
reject(err)
}
})
})
}
//调用的时候
uploadFiles(url, imageList,{ success:[], fial:[] })
回答:
promise 是异步的,所以你应该等待。
你说无法看到就是因为打印时机的问题。你可以把对象绑定在页面上。会看到经过时间变化,内容也会变化
以上是 微信多图上传代码,有时候返回空对象? 的全部内容, 来源链接: utcz.com/p/937522.html