9***@qq.com
9***@qq.com
  • 发布:2021-07-20 08:14
  • 更新:2021-11-26 15:28
  • 阅读:542

云函数本地执行正常云端执行显示成功但是实际未执行成功

分类:uniCloud

代码如下:

'use strict';  
exports.main = async (event, context) => {  
    const res = await uniCloud.httpclient.request('https://api.xxxxxxxxxxxxxxx',{dataType: 'json'})  
    const update=uniCloud.database().collection('update')  
    const dbCmd = uniCloud.database().command  
    await update.where({  
      _id: dbCmd.exists(true)  
    }).remove()  
//清空数据库  
    res.data.xxxxxxxxx.forEach(async ani=>{  
        try{  
            let resDetial = await uniCloud.httpclient.request('https://api.xxxxxxxxxxxxx'+ani.id,{dataType: 'json'})  
            ani.img=resDetial.data.xxxxxxx  
            console.log(ani.img)  
            let n=await update.add(ani)  
            console.log(n)  

        }catch(e){  
            console.log(e)  
        }  
    })  
};

本地运行一切正常,云函数执行显示成功,但是console打印的东西日志里没有,而且执行时间很短
控制台日志:

云函数日志:

前面数据库清空的代码块执行了,后面更新的没有
下载云端函数确认与本地一致
云函数超时设置10分钟,内存512M

2021-07-20 08:14 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

所以楼主解决了?我也遇到云函数里面循环执行异步任务,本地可以,云端不行

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

云端环境在云函数返回之后就会结束执行,你的异步操作是没法执行完成的,需要等待异步操作

该问题目前已经被锁定, 无法添加新回复