收藏
回答

云函数A中调用云函数B,按条件查云数据库,未查到结果再调云函数C创建数据,导致云函数直接报错,咋破?

云函数A主要代码片段如下:

exports.main = async (event, context) => {
    const wxContext = cloud.getWXContext();
    return await cloud.callFunction({
        name: 'B',
        data: {
            openId: wxContext.OPENID
        }
    }).then(res => {
        if (res.result.data.length) {
            return {
                appId: wxContext.APPID,
                openId: wxContext.OPENID,
                env: wxContext.ENV,
                data: res.result.data
            };
        } else {
            console.log('调newUser前')
            return await cloud.callFunction({
                name: 'C',
                data: {
                    openId: wxContext.OPENID
                }
            }).then(res => {

                console.log('newUser', res.result.data)

            });
        }
    });
}



云函数A的日志报错如下图:


回答关注问题邀请回答
收藏

1 个回答

  • 刺客丶
    刺客丶
    2019-12-08

    弱弱的问一句 await 还能再 .then ?  是不是自己写得太奇怪了呢

    2019-12-08
    有用
    回复 4
    • 退格键
      退格键
      2019-12-08
      的确是“await”,早上睡醒起来发现了。。。删了就ok。谢谢您的回复
      2019-12-08
      回复
    • 刺客丶
      刺客丶
      2019-12-08回复退格键
      await 直接定义一个变量接收返回值就行了, 不用then回调 不然你的云调用不等待执行无法返回结果
      2019-12-08
      回复
    • 刺客丶
      刺客丶
      2019-12-08回复退格键
      2019-12-08
      1
      回复
    • 退格键
      退格键
      2019-12-09
      谢谢~~
      2019-12-09
      回复
登录 后发表内容
问题标签