收藏
回答

调用mediaCheckAsync没有返回值?

我调用的是服务端API cloud.openapi.security.mediaCheckAsync,直接调用后msgResult里没有东西。我以为是函数前没有await,也就是说函数没执行完,但我加上await后,云函数报错SyntaxError: await is only valid in async functions and the top level bodies of modules。另外,我的回调函数已调通。就是云函数中获得不到trace_id

let msgResult = cloud.openapi.security.mediaCheckAsync({

        "openid": openid,

        "scene": 4,

        "version": 2,

        "media_url": element,

         "media_type": 2

      })

console.log("检查图片:" +msgResult);

这样运行,msgResult中没东西

在cloud.openapi前面加上await,又报错SyntaxError: await is only valid in async functions and the top level bodies of modules

最后一次编辑于  03-05
回答关注问题邀请回答
收藏

3 个回答

  • 大大大大海
    大大大大海
    03-05

    已经解决了,是因为没用await,而之所以不能用await是因为用了隐藏的函数,其实被包在了父函数里面,后来用了for循环去除了父函数就好了。

    array.forEach(element => {

        try {     

          const imgResult = await cloud.openapi.security.mediaCheckAsync({

            "openid": openid,

            "scene": 4,

            "version": 2,

            "media_url": usedobject.imageList[i],

            "media_type": 2

          })     

           console.log("检查图片:" +imgResult.traceId);

           console.log(imgResult.errCode);

      });


    03-05
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    03-05
    看不到代码咋写的
    03-05
    有用
    回复
  • 智能回答 智能回答 该问答由AI生成
    03-05
    有用
登录 后发表内容