收藏
回答

新创建一个云函数一直报错504001

刚刚开始搞云函数  我不知道为什么 一直报错 求解求解


Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID , cloud function service error code -504001, error message Unkown function; at cloud.callFunction api;

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

2 个回答

  • 姚铭澍
    姚铭澍
    2018-10-03

    早上通过各种方式踩了一下,尝试下给你个解决方案:

    1、如果仅仅是为了获取openid啥的就别安装sdk了,然后js文件里只留一个exports.main

    2、需要云端操作数据库或者调用其他的云函数的时候再安装,安装完记得初始化再调用

    小白一枚,希望能有帮助

    2018-10-03
    有用
    回复
  • 张吉(jimmyjzhang)
    张吉(jimmyjzhang)
    2018-10-02

    麻烦看一下云控制台有云函数调用日志么,有的话贴一下看看

    2018-10-02
    有用
    回复 5
    • 姚铭澍
      姚铭澍
      2018-10-03

      我跟他报的错是一样的,没有调用日志。。

      2018-10-03
      回复
    • 张吉(jimmyjzhang)
      张吉(jimmyjzhang)
      2018-10-03回复姚铭澍

      错误描述是函数不存在,可能是函数名传错,或者是使用的环境不存在被调用的函数。麻烦确认下这两点

      2018-10-03
      回复
    • I Do
      I Do
      2018-10-03回复张吉(jimmyjzhang)

      麻烦问一下  这里的 删除 为什么不走呢  不报错  日志也没有信息

      return await db.collection('usedIsUser').where({

          openId: event.userInfo.openId // 填入当前用户 openid

          }).get().then(res => {

              var data = {};

              if (res.data.length > 0){

                  data.success = 1

              if (res.data.length > 1){

                  //删掉小程序的 登录信息

                  data.success = 3

              try {

                  db.collection('usedIsUser').where({     ////这里没有走

                  openId: event.userInfo.openId

                  }).remove()

              } catch (e) {

                  console.error(e)

                  }

              }

              }else{

                  data.success = 2

              }

                  data.data = res.data;

                  console.log(res.data,"返回的数据")

              return data;

          }).catch(function (err) {

          console.log(err);

          })

      }


      2018-10-03
      回复
    • 张吉(jimmyjzhang)
      张吉(jimmyjzhang)
      2018-10-06回复I Do

      这个看起来像是逻辑的问题,是数据没get()到?

      2018-10-06
      回复
    • I Do
      I Do
      2018-10-06回复张吉(jimmyjzhang)

      应该不是  没有get() 到  给我的感觉就是 一个云函数操作数据库的方法 只能操作一次 如果在里面直接写操作 会直接越过去  我这个解决办法 就是 定义一个 变量 记录 然后在这个操作前面加

      await 

      关键字  然后等执行完以后  我在决定进行什么操作   我上面的代码就是  查数据  如果一条数据是修改  如果大于一条数据 是删除  如果没有数据 是添加  研究一阵不行 果断 换成改状态  然后判断 进行操作

      2018-10-06
      回复
登录 后发表内容