Google App Maker onClick 事件 运行 异步

Google App Maker onClick event running asynchronously

我有一个 table 绑定到一个数据源,它是一个生产计划模型。我在每行上添加了一个按钮,单击该按钮可将生产计划项目发送到生产。请注意,我有两个布尔字段,指示该项目是在计划中还是已发送到生产中。连接到 table 的数据源具有此查询构建器表达式并且仅显示计划的生产线:planned = :true

我的按钮onClick事件代码如下:

widget.datasource.item.planned = false;
widget.datasource.item.inProduction = true;
app.datasources.productionPlan.load();

我想要实现的是我希望此按钮将项目发送到生产并重新加载数据源,以便不包括发送到生产的项目。但是,这些代码行 运行 是异步的,我认为数据源会在布尔值更改之前重新加载。有什么方法可以让客户端脚本在按钮 运行 的 onClick 事件中按特定顺序排列吗?

最可靠的处理方法是对 productionPlan 数据源使用 Manual Save mode

var ds = widget.datasource;

ds.item.planned = false;
ds.item.inProduction = true;

ds.saveChanges({
  success: function() {
    app.datasources.productionPlan.load();
  },
  failure: function(error) {
   // todo
  }
});

您也可以考虑立即隐藏该行以使应用感觉更快:

widget.parent.visible = false;