zoukankan      html  css  js  c++  java
  • 小程序云开发 Collection.watch 监听器构建和销毁

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

    构建和销毁代码示例

    // 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 操作
  • 相关阅读:
    cinder支持nfs快照
    浏览器输入URL到返回页面的全过程
    按需制作最小的本地yum源
    创建可执行bin安装文件
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    惠普IPMI登陆不上
    Linux进程状态——top,ps中看到进程状态D,S,Z的含义
    openstack-neutron基本的网络类型以及分析
    openstack octavia的实现与分析(二)原理,架构与基本流程
    flask上下文流程图
  • 原文地址:https://www.cnblogs.com/masterchd/p/14775267.html
Copyright © 2011-2022 走看看