微信小程序怎么使用watch监听云数据库
时间: 2023-09-22 17:11:50 浏览: 184
微信小程序云开发之使用云数据库
在微信小程序中,可以使用 `wx.cloud.database().collection().watch()` 方法来监听云数据库的变化。
具体实现步骤如下:
1. 在页面的 `onLoad` 生命周期中初始化云开发环境
```javascript
onLoad: function () {
wx.cloud.init({
env: 'your-env-id',
traceUser: true
})
}
```
2. 在需要监听云数据库变化的地方调用 `watch` 方法
```javascript
const db = wx.cloud.database()
const watcher = db.collection('your-collection').watch({
onChange: snapshot => {
console.log('docs\'s changed events', snapshot.docChanges)
console.log('query snapshot after the event', snapshot.docs)
console.log('is init data', snapshot.type === 'init')
},
onError: err => {
console.error('the watch closed because of error', err)
}
})
```
其中,`onChange` 回调函数会在监听到云数据库的变化时触发,`onError` 回调函数则会在监听过程中出现错误时触发。
在 `onChange` 回调函数中可以获取到变化的类型、变化的数据和变化后的查询快照。
需要注意的是,调用 `watch` 方法后会返回一个监听器对象,需要在页面销毁时调用 `watcher.close()` 来停止监听。
```javascript
onUnload: function () {
watcher.close()
}
```
阅读全文