小程序云函数 异步请求

单层请求

exports.main = async (event, context) => {
  const {from,to,date,message} = event;await db.collection('chatRoom')
    .where({
      chat:_.all([from,to])
    }).update({
      data:{
        message : _.push({from,to,date,message})
      }
    })
  .then(res => return res)
  .catch(err => return err)
} }

 

 

多层请求嵌套使用 try catch

// 云函数入口函数
exports.main = async (event, context) => {
  const {from,to,date,message} = event;
  try {

  //第一层 let res
= await db.collection('chatRoom') .where({ chat:_.all([from,to]) }).update({ data:{ message : _.push({from,to,date,message}) } })

  //第二层 会等待第一层结果返回
if(res.stats.updated === 0) { //注意数据库调用返回没有result|云函数调用有 res = await db.collection('chatRoom').add({ data:{ chat: [from,to], messages:[{from,to,date,message}], date:date } }) } return res } catch (error) { return error } }

 

posted @ 2024-02-03 15:27  yheyi  阅读(33)  评论(0编辑  收藏  举报