微信云开发watch使用怎么回调
时间: 2023-05-25 19:03:32 浏览: 51
微信云开发watch的回调是通过监听实时数据变化并触发一个云函数来实现的。具体步骤如下:
1. 在云函数中引入微信云开发的watch模块,代码如下:
```
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
const watchCollection = db.collection('my_collection').watch()
```
2. 监听集合数据变化,在watchCollection.on('change', callback)方法中设置change事件的回调函数,处理在集合中新增、删除、修改文档时的回调函数。代码如下:
```
watchCollection.on('change', snapshot => {
console.log('snapshot', snapshot)
if (snapshot.type === 'init') {
console.log('watch collection init')
} else {
const { docChanges } = snapshot
console.log('docChanges', docChanges)
docChanges.forEach(({dataType, doc, updatedFields}) => {
if (dataType === 'create') {
console.log('新增文档', doc)
} else if (dataType === 'remove') {
console.log('删除文档', doc)
} else if (dataType === 'update') {
console.log('更新文档', doc)
}
})
}
})
```
3. 部署云函数并测试。在指定集合中新增、删除、修改文档时,watch方法会监听到数据变化并触发回调函数,打印出对应的信息。
注意:如果要监听多个集合,需要打开多个watch,并在对应的on('change', callback)方法中设置回调函数。