微信的uploadImage多图问题

最近在做一些微信的东西。偶然发现uploadImage接口无论选多少张图都只能上传第一张:

    wx.chooseImage({
        count:   9,
        success: function(res) {
            res.localIds.forEach(function(localId) {
                wx.uploadImage({
                    localId: localId,
                    success: function(res) {
                        alert('上传成功'); // 无论选择几张都只会alert一次
                    }
                });
            });
        }
    });

后来在推酷的一篇文章上看到,微信文档的常见问题中指出了这个问题,uploadImage接口是异步的,但不能同时调用多次,多图需要排队。

后来修改代码如下,就能正常上传多图了。

    var localIds = [];
    wx.chooseImage({
        count:   9,
        success: function(res) {
            localIds = res.localIds;
            syncUpload();
        }
    });
    function syncUpload() {
        if (!localIds.length) {
            alert('上传成功!');
        } else {
            var localId = localIds.pop();
            wx.uploadImage({
                localId: localId,
                success: function() {
                    syncUpload();
                }
            });
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值