Google apps script 进展指标

Google apps script 进展指标,google-apps-script,Google Apps Script,我想在请求期间执行进度指示器。 我试过了 function waitOn(){ var app = UiApp.getActiveApplication(); var panel= app.getElementById("LoadingPanel").setVisible(true); return app; } function waitOff(){ var app = UiApp.getActiveApplication();

我想在请求期间执行进度指示器。 我试过了

function waitOn(){
 var app = UiApp.getActiveApplication();
 var panel= app.getElementById("LoadingPanel").setVisible(true);
return app;                             
}

function waitOff(){
 var app = UiApp.getActiveApplication();
 var panel= app.getElementById("LoadingPanel").setVisible(false);
return app;      
}

function login(e){
waitOn();
...
waitOff();
return app;
}
加载面板从不显示。 如果我对waitOff进行注释,则在执行登录功能后会显示loadingpanel(不可用)

我认为最好的展示方式是什么


Vincent

解决方案是为
waitOn
函数使用单独的事件处理程序

function test() {
  var handlerLogin = app.createServerHandler('login');
  var handlerWait = app.createServerHandler('onWaitEvent');
  buttonLogin.addClickHandler(handlerLogin);
  buttonLogin.addClickHandler(handlerWait);
}
function onWaitEvent(e) {
   ...
   waitOn();
   ...
}
function login(e){
  ...
  waitOff();
  return app;
}

解决方案是为
waitOn
函数使用单独的事件处理程序

function test() {
  var handlerLogin = app.createServerHandler('login');
  var handlerWait = app.createServerHandler('onWaitEvent');
  buttonLogin.addClickHandler(handlerLogin);
  buttonLogin.addClickHandler(handlerWait);
}
function onWaitEvent(e) {
   ...
   waitOn();
   ...
}
function login(e){
  ...
  waitOff();
  return app;
}

这不起作用,因为UI中的任何更改只有在“return”指令后才会生效,MB 1024的答案有单独的函数来精确地获取这两个“returns”。-)另外请注意,当您定义按钮时,您可以在主UI函数中使用客户端处理程序打开“加载面板”,这会使脚本稍微简单一些……这不起作用,因为UI中的任何更改只有在“返回”指令后才生效,MB 1024的答案将两个函数分开以获得这两个值“返回”准确;-)注意,当您定义按钮时,您可以在主UI函数中使用客户端处理程序打开“加载面板”,这将使脚本稍微简单一些。。。