帖子
帖子
用户
博客
课程
显示全部楼层
12
帖子
0
勋章
427
Y币

[其他] 关于异步队列的问题?

[复制链接]
发表于 2016-6-8 12:04:33
1.通过 UIMediaScanner选中了8张图,要求 8张图全部按顺序从1 到 8 ,每张图有会做异步压缩处理,现在的问题是for 循环的时候图片顺序会乱,应该是因为异步的原因,问题来了。下面imgCompress 和transPath 方法全部是异步,要肿么破?如果在增加异步图片上传呢?求解

    for (var i = 0; i < ret.list.length; i++) {
        var selectImg = ret.list[i];
        // 获取图片的路径
        var selectimgPath = selectImg.path;
        var selectimgThumbPath = selectImg.thumbPath;
        if (isIOS) {
            // 转换为真实路径
            UIMediaScanner.transPath({
                path: selectimgPath
            }, function(transObj) {
                imgCompress(transObj.path, function(compressImg) {
                    //追加图片
                    appendImg(compressImg);
                });
            });
        } else {
            // 图片压缩
            imgCompress(selectimgPath, function(compressImg) {
                  //追加图片
                appendImg(compressImg);
            });
        }
    }




20
帖子
0
勋章
1234
Y币
将压缩处理封装成一个函数,实现同步递归处理图片。 这也是为什么压缩处理方法会有处理成功的回调
本帖最后由 模块咨询-Turbo 于 2016-6-12 10:56 编辑

你的问题是在iOS和android复现的?
模块设计的按照用户选择的循序返回的。

如果不是则为模块bug,请提供问题复现步骤,和复现的环境,我们会第一时间修复。
您需要登录后才可以回帖 登录

本版积分规则