收藏
回答

怎么样才能在云函数里面实现多个异步的操作?

大佬们,怎么样才能在云函数里面实现两个异步的操作

简单的说,我首先从数据库中取到数据,然后筛选出数据,找到符合条件的数据后,逐个更新

云函数的代码如下

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
 
// 云函数入口函数
exports.main = async(event, context) => {
  const db = cloud.database()
  const commend = db.command
  try {
    const seats_list = await db.collection('seats').where({
        used: true
      })
      .get()
    for (var seats_index in seats_list) {
      await db.collection('seats').doc(seats_list[seats_index].data._id).update({
        data: {
          used: commend.set(false),
        }
      })
    }
 
  } catch (e) {
    console.log(e)
  }
  return
}
 

大概意思就是从集合seat里面查找used为true的部分,await等到取完后,逐个更新并await所有的used变为false

但是上述代码并不能用,求大佬告诉我await的真正用法

(PS:不要问我为啥不直接where().update(),因为我原先的操作是要从数据库中所有used=true的内容中取出一个日期,然后跟本地的日期进行比较,最后更新,这个操作不能直接用where)

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

2 个回答

  • 老张
    老张
    2019-10-11

    代码并不能用的出错信息呢?

    2019-10-11
    有用
    回复
  • 超强
    超强
    2019-10-11

    建议你在业务层 做这个操作, 保证 每个云函数的功能 独立性

    2019-10-11
    有用
    回复 3
    • 2019-10-11
      大佬,这是啥意思
      2019-10-11
      回复
    • 超强
      超强
      2019-10-11回复
      稍等,我给你提供下 案例代码
      2019-10-11
      回复
    • 超强
      超强
      2019-10-11回复超强
      业务层面代码 ,案例,仅供参考
      2019-10-11
      回复
登录 后发表内容
问题标签