怎么样才能在云函数里面实现多个异步的操作?
发布于 5 年前 作者 yjia 11010 次浏览 来自 官方Issues

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

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

云函数的代码如下

// 云函数入口文件
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 回复

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

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

回到顶部