for循环上传多张图片,为何IOS系统只调用一次 wx.uploadImage?
发布于 7 年前 作者 caoping 1392 次浏览 来自 问答
for (; index < 10; index++) {
    uploadImageSourceToWeChat(subjectExtend, index).then(function(res) {// do some work
    })
}

function uploadImageSourceToWeChat(subjectExtend, orderNo) {
    console.log("这里会执行多次")
    return new Promise(function(resolve, reject) {
        console.log("这里也会执行多次")
        setTimeout(function() {
            wx.uploadImage({
                localId: subjectExtend.content[orderNo],
                isShowProgressTips: 0,
                success: function success(res) {
                    console.log("这里只执行一次")
                },
                fail: function fail() {
                    alert('上传微信图片失败!');
                    reject();
                }
            });
        }, 100);
    }
    );
}

4 回复

作用域问题

兄弟 用闭包解决下吧

等一次执行完之后再执行下一次

知道吗for循环休一下子就跑完了不出意外你这代码能调用的那次估计是第一张图片或者最后一张吧。不能用for循环,还没传完for已经跑完了。

回到顶部