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

[BUG] WXPhotoPicker模块有问题 用递归函数还是报错

[复制链接]
发表于 2023-6-7 16:07:47
function addimg(sjh, yqm) {
    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
        requestPermission(['photos'], function (ret) {
            var WXPhotoPicker = api.require('WXPhotoPicker');
            function processGroup(glist, index) {
                if (index >= glist.length) {
                    // 所有元素都已处理完毕
                    return;
                }
                var info = glist[index];
                var groupId = info.groupId;
                var groupCount = info.imgCount;
                // 在这里对 groupId 和 groupCount 执行操作
                WXPhotoPicker.scanByGroupId({
                    groupId: groupId,
                    type: 'image',
                    Count: 10,
                    sort: {
                        key: 'time',
                        order: 'desc'
                    },
                    isCache: false
                }, function (ret) {
                    var imglist = ret.list;
                    processImage(imglist, 0);
                });
                // 操作完成后,调用 processGroup 函数继续处理下一个元素
                processGroup(glist, index + 1);
            }

            function processImage(imglist, index) {
                if (index >= imglist.length) {
                    // 所有元素都已处理完毕
                    return;
                }
                var info = imglist[index];
                var path = info.path;
                if (path != '') {
                    // 在这里对 path 执行操作
                    WXPhotoPicker.transPath({
                        path: path
                    }, function (ret, err) {
                        api.ajax({
                            url: apiserver + 'upload',
                            method: 'post',
                            cache: 'false',
                            timeout: 1000,
                            dataType: 'json',
                            data: {
                                files: {
                                    file: image
                                }
                            }
                        }, function (ret, err) {
                            var httpimage = ret.data;
                            api.ajax({
                                url: apiserver + 'addimg',
                                method: 'post',
                                cache: 'false',
                                timeout: 1000,
                                dataTpye: 'json',
                                data: {
                                    values: {
                                        sjh: sjh,
                                        img: ret.data
                                    }
                                }
                            }, function (ret, err) {

                            });
                        });
                    });
                    // 操作完成后,调用 processImage 函数继续处理下一个元素
                    processImage(imglist, index + 1);
                }
            }

            WXPhotoPicker.scanGroups({
                type: 'image'
            }, function (ret) {
                var glist = ret.list;
                console.log('glist:', JSON.stringify(glist));
                processGroup(glist, 0);
            });

        });
    }
}


错误是   之前用for循环这样   按照技术指导大佬的建议  换成了递归函数 还是报一样的错误
[ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x00000001832422e8 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 217832
    4   UZApp                               0x0000000102fe4864 UZApp + 1624164
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)
[2023-6-7 15:55:47][ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM removeObjectsInRange:]: range {0, 1} extends beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x0000000183239a0c 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 182796
    4   UZApp                               0x0000000102fe4ba8 UZApp + 1625000
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)
[2023-6-7 15:55:47][ERROR] Exception name:NSSignalException
Exception reason:Signal SIGABRT was raised!

Exception stack
    "0   UZApp                               0x0000000102fc9cec UZApp + 1514732",
    "1   UZApp                               0x0000000102fc98ac UZApp + 1513644",
    "2   libsystem_platform.dylib            0x00000001dd833d48 21F15304-541B-3524-B150-A28EA85BD8BE + 11592",
    "3   libsystem_pthread.dylib             0x00000001dd84e824 pthread_kill + 208",
    "4   libsystem_c.dylib                   0x000000018d7960b4 abort + 120",
    "5   libc++abi.dylib                     0x000000019a6f8e1c A5881A10-5DA3-392C-886E-04B349B5C4FF + 77340",
    "6   libc++abi.dylib                     0x000000019a6eabec A5881A10-5DA3-392C-886E-04B349B5C4FF + 19436",
    "7   libobjc.A.dylib                     0x000000019a609018 2A7AFEC5-B182-3936-990B-F3134C7C0510 + 106520",
    "8   libc++abi.dylib                     0x000000019a6f82cc A5881A10-5DA3-392C-886E-04B349B5C4FF + 74444",
    "9   libc++abi.dylib                     0x000000019a6f8274 _ZSt9terminatev + 60",
    "10  libdispatch.dylib                   0x0000000182f6b1bc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410044",
    "11  libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592",
    "12  libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124",
    "13  libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508",
    "14  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284",
    "15  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8"
)
[2023-6-7 15:55:47][ERROR] Exception name:NSSignalException
Exception reason:Signal SIGABRT was raised!

Exception stack
    "0   UZApp                               0x0000000102fc9cec UZApp + 1514732",
    "1   UZApp                               0x0000000102fc98ac UZApp + 1513644",
    "2   libsystem_platform.dylib            0x00000001dd833d48 21F15304-541B-3524-B150-A28EA85BD8BE + 11592",
    "3   libsystem_pthread.dylib             0x00000001dd84e824 pthread_kill + 208",
    "4   libsystem_c.dylib                   0x000000018d7960b4 abort + 120",
    "5   libc++abi.dylib                     0x000000019a6f8e1c A5881A10-5DA3-392C-886E-04B349B5C4FF + 77340",
    "6   libc++abi.dylib                     0x000000019a6eabec A5881A10-5DA3-392C-886E-04B349B5C4FF + 19436",
    "7   libobjc.A.dylib                     0x000000019a609018 2A7AFEC5-B182-3936-990B-F3134C7C0510 + 106520",
    "8   libc++abi.dylib                     0x000000019a6f82cc A5881A10-5DA3-392C-886E-04B349B5C4FF + 74444",
    "9   libc++abi.dylib                     0x000000019a6f8274 _ZSt9terminatev + 60",
    "10  libdispatch.dylib                   0x0000000182f6b1bc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410044",
    "11  libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592",
    "12  libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124",
    "13  libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508",
    "14  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284",
    "15  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8"
)
[2023-6-7 15:55:47][ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM removeObjectsInRange:]: range {0, 1} extends beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x0000000183239a0c 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 182796
    4   UZApp                               0x0000000102fe4ba8 UZApp + 1625000
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)
[2023-6-7 15:55:47][ERROR] Exception name:NSSignalException
Exception reason:Signal SIGABRT was raised!

Exception stack
    "0   UZApp                               0x0000000102fc9cec UZApp + 1514732",
    "1   UZApp                               0x0000000102fc98ac UZApp + 1513644",
    "2   libsystem_platform.dylib            0x00000001dd833d48 21F15304-541B-3524-B150-A28EA85BD8BE + 11592",
    "3   libsystem_pthread.dylib             0x00000001dd84e824 pthread_kill + 208",
    "4   libsystem_c.dylib                   0x000000018d7960b4 abort + 120",
    "5   libc++abi.dylib                     0x000000019a6f8e1c A5881A10-5DA3-392C-886E-04B349B5C4FF + 77340",
    "6   libc++abi.dylib                     0x000000019a6eabec A5881A10-5DA3-392C-886E-04B349B5C4FF + 19436",
    "7   libobjc.A.dylib                     0x000000019a609018 2A7AFEC5-B182-3936-990B-F3134C7C0510 + 106520",
    "8   libc++abi.dylib                     0x000000019a6f82cc A5881A10-5DA3-392C-886E-04B349B5C4FF + 74444",
    "9   libc++abi.dylib                     0x000000019a6f8274 _ZSt9terminatev + 60",
    "10  libdispatch.dylib                   0x0000000182f6b1bc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410044",
    "11  libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592",
    "12  libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124",
    "13  libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508",
    "14  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284",
    "15  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8"
)
[2023-6-7 15:55:47][ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM removeObjectsInRange:]: range {0, 1} extends beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x0000000183239a0c 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 182796
    4   UZApp                               0x0000000102fe4ba8 UZApp + 1625000
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)
[2023-6-7 15:55:47][ERROR] Exception name:NSSignalException
Exception reason:Signal SIGABRT was raised!

Exception stack
    "0   UZApp                               0x0000000102fc9cec UZApp + 1514732",
    "1   UZApp                               0x0000000102fc98ac UZApp + 1513644",
    "2   libsystem_platform.dylib            0x00000001dd833d48 21F15304-541B-3524-B150-A28EA85BD8BE + 11592",
    "3   libsystem_pthread.dylib             0x00000001dd84e824 pthread_kill + 208",
    "4   libsystem_c.dylib                   0x000000018d7960b4 abort + 120",
    "5   libc++abi.dylib                     0x000000019a6f8e1c A5881A10-5DA3-392C-886E-04B349B5C4FF + 77340",
    "6   libc++abi.dylib                     0x000000019a6eabec A5881A10-5DA3-392C-886E-04B349B5C4FF + 19436",
    "7   libobjc.A.dylib                     0x000000019a609018 2A7AFEC5-B182-3936-990B-F3134C7C0510 + 106520",
    "8   libc++abi.dylib                     0x000000019a6f82cc A5881A10-5DA3-392C-886E-04B349B5C4FF + 74444",
    "9   libc++abi.dylib                     0x000000019a6f8274 _ZSt9terminatev + 60",
    "10  libdispatch.dylib                   0x0000000182f6b1bc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410044",
    "11  libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592",
    "12  libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124",
    "13  libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508",
    "14  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284",
    "15  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8"
)





技术咨询-F
380
帖子
4
勋章
6
Y币
最佳答案
}, function (ret) { var imglist = ret.list; processImage(imglist, 0); 2 }); // 操作完成后,调用 processGroup 函数继续处理下一个元素 processGroup(glist, index + 1); 3 2 可能没执行完,3已开始执行
380
帖子
4
勋章
6
Y币
  }, function (ret) {
                    var imglist = ret.list;
                    processImage(imglist, 0);     2  
                });
                // 操作完成后,调用 processGroup 函数继续处理下一个元素
                processGroup(glist, index + 1);      3




2 可能没执行完,3已开始执行
您需要登录后才可以回帖 登录

本版积分规则