关于微信云函数异步的一些问题


if (data.data.type === 2) {
        const pictureIds = []
        const tasks = []
        for (let i = 0; i < data.data.imgs.length; i++) {
          tasks.push(
            (async () => {
              try {
                const { data: imageData } = await axios.get(data.data.imgs[i], { responseType: 'arraybuffer' })
                const { fileID } = await cloud.uploadFile({
                  cloudPath: `JIarenPicture/${Date.now()}/${i + 1}.jpg`,
                  fileContent: imageData,
                })
                pictureIds.push(fileID)
                console.log('上传成功', fileID)
                return pictureIds // 返回数组
              } catch (error) {
                console.error('上传失败', error)
              }
            })()
          )
        }
        await Promise.all(tasks)
        return { type: 'picture', urls: pictureIds } // 将返回值放在异步任务的外部
      }

请问前端调用的时候为什么 会报错

img

发现上传视频的时候没有问题,可以正确返回视频的id 因为视频上传的只有一个 可能没有经历循环?
照片无法传回任何的id信息

img

别告诉我是因为3s调用超时的问题吧?

cao。还真是, 请问怎么解决超时问题?

云函数控制台修改一下就OK