onRecordEvent(table, callback, includeAll) 表数据事件触发器

功能分类: Data Applab JavaScript 少儿编程

指定 table 名称的表里,发生任何数据变化(create 数据新增、update 数据更新 或 delete 数据删除)就执行 callback 回调函数。

换句话说,onRecordEvent() 方法可以在任何表数据发生变化时实时通知 APP 应用,这样应用就可以实时地对这些变化进行处理。在事件触发时,一个 eventType 事件类型参数(create、update 或 delete)会被传递给回调函数。

includeAll 为可选参数,默认为 false。这个参数用来设置如果指定表中已有数据,是否因为这些之前已经存在的数据而触发 create 事件。默认为不触发。如果设置为 true,则会因为表中旧数据而触发 create 事件,即使这时候并没有新的数据被创建。

示例代码


示例代码:更新图表 当检测到指定表里任何数据变化:added、updated 或 delete,更新页面上的图表。这样做可以使页面里的图表实时显示。运行下面代码之前,需要确保使用的名为 foodVotes 的数据表在 Applab 里已经存在。


// 当检测到指定表里任何数据变化:added、updated 或 delete,更新页面上的图表
onRecordEvent("foodVotes", function(record) {
   drawChartFromRecords("votesChart", "bar", "foodVotes", ["name", "count"]);
});

示例代码:事件日志 监控指定表中的任何事件,并将触发情况根据 eventType 事件类型详细输出到日志里。运行下面代码之前,需要确保使用的名为 foodVotes 的数据表在 Applab 里已经存在。


onRecordEvent("foodVotes", function(record, eventType) {
  if (eventType == 'create') {
    console.log('A record for the food ' + record.name + ' was created');
  } else if (eventType == 'update') {
    console.log('The record for the food ' + record.name + ' was updated');
  } else if (eventType == 'delete') {
    console.log('The record for the food ' + record.name + ' was deleted');
  }
});

示例代码:IncludeAll 参数 设置 includeAll 可选参数为 true。并且在 Applab 里通过创建一条已经存在的记录来触发它。运行下面代码之前,需要确保使用的名为 foodVotes 的数据表在 Applab 里已经存在。


textLabel("heading", "Everyone's favorite foods:");
onRecordEvent("fav_foods", function(record, eventType) {
  if (eventType == 'create') {
     write(record.name + "'s favorite food is " + record.food + ".");
  }
}, true);

语法规则


onRecordEvent(table, function(record, eventType) {
  // 回调函数内代码
}, includeAll);

参数说明

名称 类型 必需 参数描述
table string Yes 指定进行监控表的名称。
callback function Yes 指定数据表中发生 create、 update 或 delete 操作后将被执行的回调函数。
includeAll boolean No 可选。这个参数用来设置如果指定表中已有数据,是否因为这些之前已经存在的数据而触发 create 事件。默认为不触发。如果设置为 true,则会因为表中旧数据而触发 create 事件,即使这时候并没有新的数据被创建。


事件类型 事件描述
"create" 指定名称的表中,有新数据纪录被创建。
"update" 指定名称的表中,有数据被更新。
"delete" 指定名称的表中,有数据被删除。

返回值

没有返回值,会执行 callback 回调函数。

提示说明

  • 不要对一个数据表多次使用 onRecordEvent 进行事件捕捉。否则可能发生无法预测的结果(如不一定那个事件触发器会被真正触发)。

查看更多少儿编程教程、JavaScript 介绍

返回文档首页