前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序云开发 Collection.watch 监听器构建和销毁

小程序云开发 Collection.watch 监听器构建和销毁

作者头像
Kindear
发布2021-05-18 11:20:02
9650
发布2021-05-18 11:20:02
举报

小程序云开发 Collection.watch 监听器构建和销毁

构建和销毁代码示例

代码语言:javascript
复制
// release/chatroom/index.js
const db = wx.cloud.database()
var musicwatcher = null
Page({
  onLoad: function (options) {
    this.musicwatcher = db.collection('MUSIC_LOG').where({
      playstatus:1
    }).watch({
      onChange: function (snapshot) {
        //只打印变动的信息
        // console.log(snapshot.docChanges)
        if (snapshot.docChanges.length != 0) {
          // console.log(snapshot.docChanges)
          that.setData({
            songInfo: snapshot.docChanges[0].doc
          })
        }
      },
      onError: function (err) {
        console.error('the watch closed because of error', err)
      }
    })
  },
  onUnload: function () {
    console.log('隐藏页面')
    //监听器销毁
    this.musicwatcher.close()
  }
})
接口watch介绍

支持端:小程序 2.8.1, Web

监听集合中符合查询条件的数据的更新事件。使用 watch 时,支持 where, orderBy, limit,不支持 field

参数

options: Object

属性

类型

默认值

必填

说明

onChange

function

成功回调,回调传入的参数 snapshot 是变更快照,snapshot 定义见下方

onError

function

失败回调

返回值

Object

Watcher 对象

属性

类型

说明

close

function

关闭监听,无需参数,返回 Promise,会在关闭完成时 resolve

参数说明

snapshot 说明

字段

类型

说明

docChanges

ChangeEvent[]

更新事件数组

docs

object[]

数据快照,表示此更新事件发生后查询语句对应的查询结果

type

string

快照类型,仅在第一次初始化数据时有值为 init

id

number

变更事件 id

ChangeEvent 说明

字段

类型

说明

id

number

更新事件 id

queueType

string

列表更新类型,表示更新事件对监听列表的影响,枚举值,定义见 QueueType

dataType

string

数据更新类型,表示记录的具体更新类型,枚举值,定义见 DataType

docId

string

更新的记录 id

doc

object

更新的完整记录

updatedFields

object

所有更新的字段及字段更新后的值,key 为更新的字段路径,value 为字段更新后的值,仅在 update 操作时有此信息

removedFields

string[]

所有被删除的字段,仅在 update 操作时有此信息

QueueType 枚举值

枚举值

说明

init

初始化列表

update

列表中的记录内容有更新,但列表包含的记录不变

enqueue

记录进入列表

dequeue

记录离开列表

DataType 枚举值

枚举值

说明

init

初始化数据

update

记录内容更新,对应 update 操作

replace

记录内容被替换,对应 set 操作

add

记录新增,对应 add 操作

remove

记录被删除,对应 remove 操作

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 小程序云开发 Collection.watch 监听器构建和销毁
    • 接口watch介绍
    • 参数
      • options: Object
      • 返回值
        • Object
        • 参数说明
          • snapshot 说明
            • ChangeEvent 说明
              • QueueType 枚举值
                • DataType 枚举值
                相关产品与服务
                云开发 CloudBase
                云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档