收藏
回答

为什么return的结果只反回wxContext,其它两个变量值不反回有结果?

// 云函数入口文件

const cloud = require('wx-server-sdk')

// 初始化 cloud

cloud.init({

  traceUser:true,

  env: 'zjb981'

})

const db = cloud.database()//调用获取默认环境的数据库的引用

//const todosCollection = db.collection()//定义集合

const _ = db.command//数据库操作符

const $ = db.command.aggregate//定义聚合操作符

exports.main = async (event, context) => {// 云函数入口函数

  var  wxContext = cloud.getWXContext()//包含OPENID等信息


   //return开始一

   var promise= new Promise((resolve,reject)=>{

    //集合操作开始

 db.collection('offerprice').aggregate()

    .match({

      useropenid:wxContext.OPENID,

          dataType:event.DataType,

         "values.offerYear":event.YearMonthDate.year,

         "values.offerMonth":event.YearMonthDate.month,

         "values.offerDate":event.YearMonthDate.date,

    })

   

    .skip(event.pageskip)

    .limit(20)

           .end()

              //集合操作结束 

              .then(res=>{//where成功后执行then开始

              resolve(res)

           })//where成功后执行then结束

           .catch((err=>{//where失败后执行

              reject(err)

           }))

          //集合操作结束 

   

         }

          )

  //return结束一


  //return开始二

var countResult=[]

  var countResult= new Promise((resolve,reject)=>{


    //集合操作开始

 db.collection('offerprice').aggregate()

    .match({

      useropenid:wxContext.OPENID,

          dataType:event.DataType,

         "values.offerYear":event.YearMonthDate.year,

         "values.offerMonth":event.YearMonthDate.month,

         "values.offerDate":event.YearMonthDate.date,

    })

    .count('expensiveCount')

           .end()

              //集合操作结束 

              .then(res=>{//where成功后执行then开始

              resolve(res)

           })//where成功后执行then结束

           .catch((err=>{//where失败后执行

              reject(err)

           }))

          //集合操作结束 

   

         }

          )

  //return结束二

  var all ={

    wxContext,

    promise,

    countResult

  }

// 等待所有

return all


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

1 个回答

  • 陈宇明
    陈宇明
    2021-02-22

    你用下await试试

    2021-02-22
    有用
    回复 4
    • 朱_kambo
      朱_kambo
      2021-02-22
      应如何写?
      2021-02-22
      回复
    • 陈宇明
      陈宇明
      2021-02-22回复朱_kambo
      const res = await db.collection(“xxx”).doc(“xxx”).get()


        return res
      2021-02-22
      1
      回复
    • 朱_kambo
      朱_kambo
      2021-02-22
      我试一下
      2021-02-22
      回复
    • 朱_kambo
      朱_kambo
      2021-02-22
      可以了,非常感谢
      2021-02-22
      回复
登录 后发表内容
问题标签