遇到这样一个业务场景,在小程序中 wx.chooseImage
选择图片后,
调用 wx.uploadFile
上传图片到公司的一个数据库中,然后拿到对应的返回值后,
再去请求一个接口,将所有图片一一进行绑定,
等所有图片上传完毕后,最后请求一个接口进行总结汇报。
我们希望的是当选择图片完成后,有一个loading加载中的效果,
然后等所有图片上传完毕并一一绑定,且最后一个总结汇报的接口也请求完毕后,
再隐藏loading弹窗,展示“上传完毕”。
听起来很简单的一个事情,但是我却踩坑了。
先看下大体的代码结构…
// 当前索引值
let i = 0;
// 需要上传的图片总数
let picNum = 0;
// 需要上传的图片路径
let picFilePaths;
// 选择图片
choosePic: function () {
const self = this;
wx.chooseImage({
count: 9,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: (res) => {
// 小程序API的限制 文件不能大于20M
if (res.size > 20971520) {
wx.showModal({
title: '上传失败',