我有一个界面,它使用从其他电子表格中获取的数据调用用于创建电子表格的脚本。我希望界面在运行时更新其标签,以便向用户提供视觉反馈并让他知道脚本正在运行并且它没有卡住。当我尝试更新我在界面中放置的标签时,它不会第一次更新,而是在 myFunction() 到达其末尾后正确更新。这意味着我可以看到消息“创建已完成”,但从未显示消息“正在创建文件...”。此外,按钮 buttonCompile 永远不会被禁用,因此似乎 myFunction() 之前的指令根本没有执行。如何在 myFunction() 开始执行之前更新标签并禁用按钮?(我已经仔细检查了变量引用)
function doGet() {
var app = UiApp.createApplication();
app.add(app.loadComponent("File creation"));
var buttonCreate = app.getElementById('createBtn');
var handlerCrea = app.createServerHandler('createClickHandler');
buttonCreate.addClickHandler(handlerCreate);
return app;
}
function createClickHandler(e) {
var app = UiApp.getActiveApplication();
var label = app.getElementById('createLbl');
label.setText("Creating file...");
var buttonCompile = app.getElementById('compileBtn');
buttonCompile.setEnabled(false);
myFunction();
label.setText("Creation completed.");
buttonCompile.setEnabled(true);
app.close();
return app;
}