微信多图上传代码,有时候返回空对象?

微信多图上传代码,有时候返回空对象?

微信小程序一次只能上传一张图片。
有需求需要上传多张了,我写了个代码,图片虽然能全部上传到后台,但是返回结果有时候是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

回到顶部