uniapp oss上传图片 解决for循环 异步请求 同步化

问题:
for循环无法解决数据获取的时候,在上传的图片,imageList虽然现实有数据,但是传到后端的时候,没有数据。
原因:同步和异步的问题。

解决:
1.在uploadFile.js中去掉
*@param - successc:成功回调
*@param - failc:失败回调
两个回调函数。
2.在function (filePath, dir) {函数中加入return,将oss地址return回去。
3.在publishMoment.vue中
async publish() {方法中,使用await this.getImageList();函数,
新增getImageList()函数:

其中为了加速oss上传速度,借助了这个插件:
地址:https://ext.dcloud.net.cn/plugin?id=278
插件ID:yushijie-ossutil
插件包体积:6.1KB
更新日期:2019-04-03版本:1.0.0
https://github.com/xieyushi/uniapp-alioss-util

getImageList(){
			for (let i in this.imageTempList) {
				let imageTemp = this.imageTempList[i];
				let url=uploadImage(imageTemp.path, 'images/');
					
				this.imageList.push({
					url,
					width: imageTemp.width,
					height: imageTemp.height
				});
			}

这样就可以让异步请求变成同步请求,for循环结束后才会传递到后端。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值