收藏
回答

微信支付完成云函数收到重复回调?

   const res = {errcode:0,errmsg:''}
    return res


这串代码是用来解决重复回调,是可以正常使用的,但是我想将回调中的数据导入到数据库中,用于后面开发其他功能,但是就是加了导入数据库的这串代码,导致不断地重复回调,而数据库相同内容重复存在

  const returnCode = event.returnCode
  if(returnCode == 'SUCCESS'){
    const db = cloud.database()
    try {
      return await db.collection('xxxxxx').add({
        data:{
          cashFee:cashFee,
        }
      })
    } catch (e) {
      console.log(e)
    }
    const res = {errcode:0,errmsg:''}
    return res
  }


其中有次data中想要的数据名打错了,回调也正常了,但是所有的数据(包括正确数据名)也无法导入数据库。所以各路大神,这个问题怎么解决呢?

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

1 个回答

  • SuperYang
    SuperYang
    2022-02-23

    插入数据是一个延迟操作,导致微信服务端没有第一时间拿到响应消息,认为你没有回应。就一直回调啦。所以不能阻塞返回响应数据。而且你这返回的不是res了。而是插入数据库的结果返回值了。把return await 去掉就行。最简单的解决办法。

    2022-02-23
    有用 1
    回复 1
    • Chung
      Chung
      2022-02-23
      感谢大哥
      2022-02-23
      1
      回复
登录 后发表内容