小程序云开发 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
介绍
监听集合中符合查询条件的数据的更新事件。使用 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 操作 |
小程序云开发 Collection.watch 监听器构建和销毁的更多相关文章
- 用小程序·云开发两天搭建mini论坛丨实战
笔者最近涉猎了小程序相关的知识,于是利用周末时间开发了一款类似于同事的小程序,深度体验了小程序云开发模式提供的云函数.数据库.存储三大能力.关于云开发,可参考文档:小程序·云开发. 个人感觉云开发带来 ...
- 微信小程序--聊天室小程序(云开发)
微信小程序 -- 聊天室小程序(云开发) 从微信小程序开发社区更新watch接口之后,一直在构思这个项目.项目已经完成很久,但是一直都没有空写一篇博客记录展示一下. 开源地址 wx-cloud-im: ...
- 微信小程序云开发指南
一.初识云开发 官方文档 小程序·云开发是微信团队联合腾讯云推出的专业的小程序开发服务. 开发者可以使用云开发快速开发小程序.小游戏.公众号网页等,并且原生打通微信开放能力. 开发者无需搭建服务器,可 ...
- 【微信小程序云开发】从陌生到熟悉
前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前 ...
- 第六章 “我要点爆”微信小程序云开发实例之爆文详情页制作
爆文详情页制作 从首页中数据列表打开相应详情页面的方法: 给数据列表中每个数据项加一个点击事件,同时将当前数据项的id暂时记录在本地,然后跳转到详情页面detail goopen: function ...
- 第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现
第一章 “我要点爆”微信小程序云开发之项目建立与我的页面功能实现 开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 ...
- 小程序·云开发的HTTP API调用丨实战
小程序云开发之httpApi调用. 小程序云开发之httpApi调用(返回"47001处理") 技术栈 采用 nodejs + express 搭建web服务器,采用 axios ...
- 基于微信小程序云开发实现的婚礼邀请函模板,可自行定制开发
这个婚礼邀请函是之前帮别人做的,现在人家婚礼举办过了也没啥关系了,想着就修改成通用模板进行开源,方便大家尤其是小白们克隆项目之后稍微修改就能够直接使用. 当时自己开始这个项目时候也是查阅了很多教程文章 ...
- mpvue+小程序云开发,纯前端实现婚礼邀请函
请勿使用本文章及源码作为商业用途! 前言 当初做这个小程序是为了婚礼前的需要,结婚之后,希望这个小程序能够留存下来,特地花了一些空闲时间将小程序转化成为“相册类小程序” 体验码 准备工作 mpvue框 ...
- mpvue+小程序云开发,纯前端实现婚礼邀请函(相册小程序)
请勿使用本文章及源码作为商业用途! 前言 当初做这个小程序是为了婚礼前的需要,结婚之后,希望这个小程序能够留存下来,特地花了一些空闲时间将小程序转化成为“相册类小程序” 体验码 准备工作 mpvue框 ...
随机推荐
- docker-compose创建haproxy教程
本文主要讲解通过docker-compose创建haproxy并进行代理 一.haproxy简介 HAProxy是一款基于事件驱动.单进程模型设计的四层与七层负载均衡器,它能够在TCP/UDP层面以及 ...
- Java-继承Thread的方式和实现Runnable接口多线程
继承Thread的方式实现多线程 public class TestThread extends Thread{ @Override public void run() { System.out.pr ...
- 单细胞测序最好的教程(十):细胞类型注释迁移|万能的Transformer
作者按 本章节主要讲解了基于transformer的迁移注释方法TOSICA,该算法在迁移注释上达到了SOTA的水平,在注释这么卷的赛道愣是杀出了一条血路.本教程首发于单细胞最好的中文教程,未经授权许 ...
- “智能体风”吹进体育圈 粉丝手搓上百个智能体为中国健儿应援 太有AI了!粉丝手搓上百个智能体为中国健儿打CALL
智能体的风吹进了体育竞技圈.近日,在百度文心智能体平台,出现了上百个充满"AI"的运动明星粉丝应援智能体,比如支持中国女子乒乓球运动员孙颖莎的"孙颖莎的小迷妹" ...
- 关于在windows系统下使用Linux子系统
今天意外刷到一个短视频,介绍了如何在windows下方便的使用系统自带的Linux子系统,本人抱着好奇的心理,也因为最近碰到了只使用windows操作系统解决不了的问题,还有想到以后测试项目大概率也要 ...
- 使用AWS存储数据并下载遥感影像Landsat为例
使用AWS存储数据并下载遥感影像Landsat为例 一.步骤: 创建s3存储桶(具体创建账号方式请问"度娘",当时忘记录了) 创建用户--配置策略 用该用户创建访问密钥--记录 访 ...
- LinuxUDP通讯
目录 前言 一.UDP通讯 1.UDP通讯概述 2.UDP的特点 3.UDP的应用 二.UDP基本通讯 1.socket函数 2.bind函数 2.1 主机字节序和网络字节序 2.2 点分制十进制转换 ...
- 3、SpringBoot2之配置文件
3.1.环境搭建 3.1.1.在project创建新module 3.1.2.选择maven 3.1.3.设置module名称和路径 3.1.4.module初始状态 3.1.5.引入springbo ...
- Ubuntu18.04环境下 以太坊Geth的安装
ubuntu18.04系统下安装: sudo apt-get install software-properties-common sudo add-apt-repository -y ppa:eth ...
- java多线程之-CAS无锁-常见API
1.背景 这一节,就是学习常用的cas对象与api ..... 2.原子整数 直接看代码吧,或者看API文档 2.1.AtomicInteger的API演示 package com.ldp.demo0 ...