使用prominse.ll方法,实现wx.cloud.uploadfile..多图上传,不使用async/await
时间: 2024-05-01 13:17:46 浏览: 120
好的,针对您的问题,可以使用promise链式调用实现wx.cloud.uploadFile的多图上传,可以参考下面的代码示例:
```
const uploadFiles = (filePaths) => {
const promises = filePaths.map(filePath => {
return new Promise((resolve, reject) => {
wx.cloud.uploadFile({
cloudPath: 'image/' + Date.now() + '-' + Math.floor(Math.random() * 1000),
filePath: filePath,
success: res => {
resolve(res)
},
fail: error => {
reject(error)
}
})
})
})
return Promise.all(promises)
}
// 调用示例
const fileUrls = []
uploadFiles(['file1.jpg', 'file2.jpg', 'file3.jpg'])
.then(res => {
res.forEach(item => {
fileUrls.push(item.fileID)
})
console.log('上传成功', fileUrls)
})
.catch(error => {
console.log('上传失败', error)
})
```
以上代码实现了使用promise链式调用实现了多图上传,并且没有使用async/await语法。每次上传文件都返回一个promise,通过Promise.all方法将所有的promise并行执行,等待所有promise完成后统一处理返回的结果。
阅读全文